diff --git a/.nekocode_sessions/0d514b6c.json b/.nekocode_sessions/b8b0659e.json similarity index 76% rename from .nekocode_sessions/0d514b6c.json rename to .nekocode_sessions/b8b0659e.json index 56ac1f52..c758e626 100644 --- a/.nekocode_sessions/0d514b6c.json +++ b/.nekocode_sessions/b8b0659e.json @@ -1,8 +1,8 @@ { - "id": "0d514b6c", + "id": "b8b0659e", "path": "src", - "created_at": "2025-08-13T11:36:22.984115384Z", - "last_accessed": "2025-08-13T11:36:22.984115703Z", + "created_at": "2025-08-15T16:17:55.585895584Z", + "last_accessed": "2025-08-15T16:17:55.585896068Z", "metadata": {}, "analysis_results": [ { @@ -10,12 +10,12 @@ "name": "ast.rs", "path": "src/ast.rs", "size_bytes": 0, - "total_lines": 987, - "code_lines": 808, - "comment_lines": 88, - "empty_lines": 91, - "code_ratio": 0.8186423505572442, - "analyzed_at": "2025-08-13T11:36:21.739176604Z", + "total_lines": 1006, + "code_lines": 825, + "comment_lines": 89, + "empty_lines": 92, + "code_ratio": 0.820079522862823, + "analyzed_at": "2025-08-15T16:17:53.906102984Z", "metadata": {} }, "language": "rust", @@ -29,8 +29,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -54,8 +54,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "fmt::Display" + "implementing_trait": "fmt::Display", + "type": "impl" } }, { @@ -67,8 +67,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "enum" + "type": "enum", + "modifiers": "pub" } }, { @@ -80,8 +80,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "enum" + "type": "enum", + "modifiers": "pub" } }, { @@ -127,97 +127,7 @@ "name": "LiteralValue", "parent_class": null, "start_line": 248, - "end_line": 254, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "enum", - "modifiers": "pub" - } - }, - { - "name": "LiteralValue", - "parent_class": null, - "start_line": 256, - "end_line": 292, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" - } - }, - { - "name": "LiteralValue", - "parent_class": null, - "start_line": 294, - "end_line": 304, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "fmt::Display" - } - }, - { - "name": "UnaryOperator", - "parent_class": null, - "start_line": 308, - "end_line": 311, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "enum", - "modifiers": "pub" - } - }, - { - "name": "BinaryOperator", - "parent_class": null, - "start_line": 315, - "end_line": 328, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "enum", - "modifiers": "pub" - } - }, - { - "name": "UnaryOperator", - "parent_class": null, - "start_line": 330, - "end_line": 338, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "fmt::Display" - } - }, - { - "name": "BinaryOperator", - "parent_class": null, - "start_line": 340, - "end_line": 358, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "fmt::Display" - } - }, - { - "name": "ASTNode", - "parent_class": null, - "start_line": 362, - "end_line": 592, + "end_line": 255, "methods": [], "properties": [], "member_variables": [], @@ -227,10 +137,10 @@ } }, { - "name": "ASTNode", + "name": "LiteralValue", "parent_class": null, - "start_line": 594, - "end_line": 843, + "start_line": 257, + "end_line": 296, "methods": [], "properties": [], "member_variables": [], @@ -239,10 +149,62 @@ } }, { - "name": "ASTNode", + "name": "LiteralValue", "parent_class": null, - "start_line": 845, - "end_line": 849, + "start_line": 298, + "end_line": 309, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "fmt::Display", + "type": "impl" + } + }, + { + "name": "UnaryOperator", + "parent_class": null, + "start_line": 313, + "end_line": 316, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "BinaryOperator", + "parent_class": null, + "start_line": 320, + "end_line": 334, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "UnaryOperator", + "parent_class": null, + "start_line": 336, + "end_line": 344, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + }, + { + "name": "BinaryOperator", + "parent_class": null, + "start_line": 346, + "end_line": 365, "methods": [], "properties": [], "member_variables": [], @@ -254,8 +216,46 @@ { "name": "ASTNode", "parent_class": null, - "start_line": 851, - "end_line": 859, + "start_line": 369, + "end_line": 605, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "ASTNode", + "parent_class": null, + "start_line": 607, + "end_line": 862, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ASTNode", + "parent_class": null, + "start_line": 864, + "end_line": 868, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + }, + { + "name": "ASTNode", + "parent_class": null, + "start_line": 870, + "end_line": 878, "methods": [], "properties": [], "member_variables": [], @@ -285,8 +285,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -396,8 +396,8 @@ }, { "name": "to_nyash_box", - "start_line": 258, - "end_line": 269, + "start_line": 259, + "end_line": 271, "parameters": [ "&self" ], @@ -417,8 +417,8 @@ }, { "name": "from_nyash_box", - "start_line": 272, - "end_line": 291, + "start_line": 274, + "end_line": 295, "parameters": [ "box_val: &dyn NyashBox" ], @@ -438,8 +438,8 @@ }, { "name": "fmt", - "start_line": 295, - "end_line": 303, + "start_line": 299, + "end_line": 308, "parameters": [ "&self", "f: &mut fmt::Formatter<'_>" @@ -459,8 +459,8 @@ }, { "name": "fmt", - "start_line": 331, - "end_line": 337, + "start_line": 337, + "end_line": 343, "parameters": [ "&self", "f: &mut fmt::Formatter<'_>" @@ -480,8 +480,8 @@ }, { "name": "fmt", - "start_line": 341, - "end_line": 357, + "start_line": 347, + "end_line": 364, "parameters": [ "&self", "f: &mut fmt::Formatter<'_>" @@ -501,8 +501,8 @@ }, { "name": "node_type", - "start_line": 596, - "end_line": 630, + "start_line": 609, + "end_line": 644, "parameters": [ "&self" ], @@ -522,8 +522,8 @@ }, { "name": "classify", - "start_line": 634, - "end_line": 673, + "start_line": 648, + "end_line": 688, "parameters": [ "&self" ], @@ -537,14 +537,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "is_structure", - "start_line": 676, - "end_line": 678, + "start_line": 691, + "end_line": 693, "parameters": [ "&self" ], @@ -564,8 +564,8 @@ }, { "name": "is_expression", - "start_line": 681, - "end_line": 683, + "start_line": 696, + "end_line": 698, "parameters": [ "&self" ], @@ -579,14 +579,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "is_statement", - "start_line": 686, - "end_line": 688, + "start_line": 701, + "end_line": 703, "parameters": [ "&self" ], @@ -606,8 +606,8 @@ }, { "name": "info", - "start_line": 691, - "end_line": 805, + "start_line": 706, + "end_line": 823, "parameters": [ "&self" ], @@ -627,8 +627,8 @@ }, { "name": "span", - "start_line": 808, - "end_line": 842, + "start_line": 826, + "end_line": 861, "parameters": [ "&self" ], @@ -642,14 +642,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "fmt", - "start_line": 846, - "end_line": 848, + "start_line": 865, + "end_line": 867, "parameters": [ "&self", "f: &mut fmt::Formatter<'_>" @@ -669,8 +669,8 @@ }, { "name": "get_param_count", - "start_line": 853, - "end_line": 858, + "start_line": 872, + "end_line": 877, "parameters": [ "&self" ], @@ -690,8 +690,8 @@ }, { "name": "test_ast_node_creation", - "start_line": 869, - "end_line": 899, + "start_line": 888, + "end_line": 918, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -708,8 +708,8 @@ }, { "name": "test_binary_operator", - "start_line": 902, - "end_line": 911, + "start_line": 921, + "end_line": 930, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -726,8 +726,8 @@ }, { "name": "test_complex_ast", - "start_line": 914, - "end_line": 955, + "start_line": 933, + "end_line": 974, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -744,8 +744,8 @@ }, { "name": "test_method_call", - "start_line": 958, - "end_line": 971, + "start_line": 977, + "end_line": 990, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -762,8 +762,8 @@ }, { "name": "test_binary_operation", - "start_line": 974, - "end_line": 986, + "start_line": 993, + "end_line": 1005, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -809,7 +809,7 @@ "module_path": "crate::box_trait::{StringBox, IntegerBox, BoolBox, VoidBox}", "imported_names": [], "alias": null, - "line_number": 259, + "line_number": 260, "metadata": {} }, { @@ -817,7 +817,7 @@ "module_path": "crate::boxes::FloatBox", "imported_names": [], "alias": null, - "line_number": 260, + "line_number": 261, "metadata": {} }, { @@ -825,7 +825,7 @@ "module_path": "std::any::Any", "imported_names": [], "alias": null, - "line_number": 274, + "line_number": 276, "metadata": {} }, { @@ -833,7 +833,7 @@ "module_path": "crate::box_trait::{StringBox, IntegerBox, BoolBox, VoidBox}", "imported_names": [], "alias": null, - "line_number": 275, + "line_number": 277, "metadata": {} }, { @@ -841,7 +841,7 @@ "module_path": "crate::boxes::FloatBox", "imported_names": [], "alias": null, - "line_number": 276, + "line_number": 278, "metadata": {} }, { @@ -849,7 +849,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 865, + "line_number": 884, "metadata": {} }, { @@ -857,7 +857,7 @@ "module_path": "crate::box_trait::{StringBox, IntegerBox, BoolBox}", "imported_names": [], "alias": null, - "line_number": 866, + "line_number": 885, "metadata": {} } ], @@ -1262,7 +1262,7 @@ "name": "LiteralValue", "full_name": "", "start_line": 248, - "end_line": 254, + "end_line": 255, "start_column": 0, "end_column": 0, "depth": 1, @@ -1275,8 +1275,8 @@ "type": "class", "name": "LiteralValue", "full_name": "", - "start_line": 256, - "end_line": 292, + "start_line": 257, + "end_line": 296, "start_column": 0, "end_column": 0, "depth": 1, @@ -1289,8 +1289,8 @@ "type": "function", "name": "to_nyash_box", "full_name": "", - "start_line": 258, - "end_line": 269, + "start_line": 259, + "end_line": 271, "start_column": 0, "end_column": 0, "depth": 3, @@ -1299,20 +1299,6 @@ "attributes": {}, "source_text": null }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 259, - "end_line": 259, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "import", "name": "", @@ -1327,12 +1313,26 @@ "attributes": {}, "source_text": null }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "from_nyash_box", "full_name": "", - "start_line": 272, - "end_line": 291, + "start_line": 274, + "end_line": 295, "start_column": 0, "end_column": 0, "depth": 3, @@ -1341,34 +1341,6 @@ "attributes": {}, "source_text": null }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 274, - "end_line": 274, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 275, - "end_line": 275, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "import", "name": "", @@ -1384,11 +1356,39 @@ "source_text": null }, { - "type": "if_statement", + "type": "import", + "name": "", + "full_name": "", + "start_line": 277, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", "name": "", "full_name": "", "start_line": 278, - "end_line": 290, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 294, "start_column": 0, "end_column": 0, "depth": 6, @@ -1401,8 +1401,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 280, - "end_line": 290, + "start_line": 282, + "end_line": 294, "start_column": 0, "end_column": 0, "depth": 8, @@ -1415,8 +1415,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 282, - "end_line": 290, + "start_line": 284, + "end_line": 294, "start_column": 0, "end_column": 0, "depth": 10, @@ -1429,8 +1429,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 284, - "end_line": 290, + "start_line": 286, + "end_line": 294, "start_column": 0, "end_column": 0, "depth": 12, @@ -1443,8 +1443,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 286, - "end_line": 290, + "start_line": 288, + "end_line": 294, "start_column": 0, "end_column": 0, "depth": 14, @@ -1453,12 +1453,26 @@ "attributes": {}, "source_text": null }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 290, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "LiteralValue", "full_name": "", - "start_line": 294, - "end_line": 304, + "start_line": 298, + "end_line": 309, "start_column": 0, "end_column": 0, "depth": 1, @@ -1471,8 +1485,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 295, - "end_line": 303, + "start_line": 299, + "end_line": 308, "start_column": 0, "end_column": 0, "depth": 3, @@ -1485,8 +1499,8 @@ "type": "class", "name": "UnaryOperator", "full_name": "", - "start_line": 308, - "end_line": 311, + "start_line": 313, + "end_line": 316, "start_column": 0, "end_column": 0, "depth": 1, @@ -1499,8 +1513,8 @@ "type": "class", "name": "BinaryOperator", "full_name": "", - "start_line": 315, - "end_line": 328, + "start_line": 320, + "end_line": 334, "start_column": 0, "end_column": 0, "depth": 1, @@ -1513,8 +1527,8 @@ "type": "class", "name": "UnaryOperator", "full_name": "", - "start_line": 330, - "end_line": 338, + "start_line": 336, + "end_line": 344, "start_column": 0, "end_column": 0, "depth": 1, @@ -1527,8 +1541,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 331, - "end_line": 337, + "start_line": 337, + "end_line": 343, "start_column": 0, "end_column": 0, "depth": 3, @@ -1541,8 +1555,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 332, - "end_line": 335, + "start_line": 338, + "end_line": 341, "start_column": 0, "end_column": 0, "depth": 5, @@ -1555,8 +1569,8 @@ "type": "class", "name": "BinaryOperator", "full_name": "", - "start_line": 340, - "end_line": 358, + "start_line": 346, + "end_line": 365, "start_column": 0, "end_column": 0, "depth": 1, @@ -1569,8 +1583,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 341, - "end_line": 357, + "start_line": 347, + "end_line": 364, "start_column": 0, "end_column": 0, "depth": 3, @@ -1583,8 +1597,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 342, - "end_line": 355, + "start_line": 348, + "end_line": 362, "start_column": 0, "end_column": 0, "depth": 5, @@ -1597,8 +1611,8 @@ "type": "class", "name": "ASTNode", "full_name": "", - "start_line": 362, - "end_line": 592, + "start_line": 369, + "end_line": 605, "start_column": 0, "end_column": 0, "depth": 1, @@ -1611,8 +1625,8 @@ "type": "class", "name": "ASTNode", "full_name": "", - "start_line": 594, - "end_line": 843, + "start_line": 607, + "end_line": 862, "start_column": 0, "end_column": 0, "depth": 1, @@ -1625,8 +1639,8 @@ "type": "function", "name": "node_type", "full_name": "", - "start_line": 596, - "end_line": 630, + "start_line": 609, + "end_line": 644, "start_column": 0, "end_column": 0, "depth": 3, @@ -1639,8 +1653,8 @@ "type": "function", "name": "classify", "full_name": "", - "start_line": 634, - "end_line": 673, + "start_line": 648, + "end_line": 688, "start_column": 0, "end_column": 0, "depth": 3, @@ -1653,8 +1667,8 @@ "type": "function", "name": "is_structure", "full_name": "", - "start_line": 676, - "end_line": 678, + "start_line": 691, + "end_line": 693, "start_column": 0, "end_column": 0, "depth": 3, @@ -1667,8 +1681,8 @@ "type": "function", "name": "is_expression", "full_name": "", - "start_line": 681, - "end_line": 683, + "start_line": 696, + "end_line": 698, "start_column": 0, "end_column": 0, "depth": 3, @@ -1681,8 +1695,8 @@ "type": "function", "name": "is_statement", "full_name": "", - "start_line": 686, - "end_line": 688, + "start_line": 701, + "end_line": 703, "start_column": 0, "end_column": 0, "depth": 3, @@ -1695,8 +1709,8 @@ "type": "function", "name": "info", "full_name": "", - "start_line": 691, - "end_line": 805, + "start_line": 706, + "end_line": 823, "start_column": 0, "end_column": 0, "depth": 3, @@ -1709,64 +1723,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 705, - "end_line": 709, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 713, - "end_line": 717, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 713, - "end_line": 717, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 719, - "end_line": 721, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 723, - "end_line": 725, + "start_line": 720, + "end_line": 724, "start_column": 0, "end_column": 0, "depth": 11, @@ -1780,7 +1738,7 @@ "name": "", "full_name": "", "start_line": 731, - "end_line": 731, + "end_line": 735, "start_column": 0, "end_column": 0, "depth": 10, @@ -1794,7 +1752,35 @@ "name": "", "full_name": "", "start_line": 731, - "end_line": 731, + "end_line": 735, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 737, + "end_line": 739, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 741, + "end_line": 743, "start_column": 0, "end_column": 0, "depth": 11, @@ -1807,8 +1793,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 732, - "end_line": 732, + "start_line": 749, + "end_line": 749, "start_column": 0, "end_column": 0, "depth": 10, @@ -1821,22 +1807,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 732, - "end_line": 732, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 756, - "end_line": 760, + "start_line": 749, + "end_line": 749, "start_column": 0, "end_column": 0, "depth": 11, @@ -1849,8 +1821,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 792, - "end_line": 793, + "start_line": 750, + "end_line": 750, "start_column": 0, "end_column": 0, "depth": 10, @@ -1863,8 +1835,50 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 794, - "end_line": 796, + "start_line": 750, + "end_line": 750, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 774, + "end_line": 778, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 810, + "end_line": 811, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 812, + "end_line": 814, "start_column": 0, "end_column": 0, "depth": 11, @@ -1877,8 +1891,8 @@ "type": "function", "name": "span", "full_name": "", - "start_line": 808, - "end_line": 842, + "start_line": 826, + "end_line": 861, "start_column": 0, "end_column": 0, "depth": 3, @@ -1891,8 +1905,8 @@ "type": "class", "name": "ASTNode", "full_name": "", - "start_line": 845, - "end_line": 849, + "start_line": 864, + "end_line": 868, "start_column": 0, "end_column": 0, "depth": 1, @@ -1905,8 +1919,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 846, - "end_line": 848, + "start_line": 865, + "end_line": 867, "start_column": 0, "end_column": 0, "depth": 3, @@ -1919,8 +1933,8 @@ "type": "class", "name": "ASTNode", "full_name": "", - "start_line": 851, - "end_line": 859, + "start_line": 870, + "end_line": 878, "start_column": 0, "end_column": 0, "depth": 1, @@ -1933,8 +1947,8 @@ "type": "function", "name": "get_param_count", "full_name": "", - "start_line": 853, - "end_line": 858, + "start_line": 872, + "end_line": 877, "start_column": 0, "end_column": 0, "depth": 3, @@ -1947,8 +1961,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 865, - "end_line": 865, + "start_line": 884, + "end_line": 884, "start_column": 0, "end_column": 0, "depth": 3, @@ -1961,8 +1975,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 866, - "end_line": 866, + "start_line": 885, + "end_line": 885, "start_column": 0, "end_column": 0, "depth": 3, @@ -1975,8 +1989,8 @@ "type": "function", "name": "test_ast_node_creation", "full_name": "", - "start_line": 869, - "end_line": 899, + "start_line": 888, + "end_line": 918, "start_column": 0, "end_column": 0, "depth": 3, @@ -1989,8 +2003,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 871, - "end_line": 874, + "start_line": 890, + "end_line": 893, "start_column": 0, "end_column": 0, "depth": 5, @@ -2003,8 +2017,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 879, - "end_line": 882, + "start_line": 898, + "end_line": 901, "start_column": 0, "end_column": 0, "depth": 5, @@ -2017,8 +2031,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 888, - "end_line": 895, + "start_line": 907, + "end_line": 914, "start_column": 0, "end_column": 0, "depth": 5, @@ -2031,8 +2045,8 @@ "type": "function", "name": "test_binary_operator", "full_name": "", - "start_line": 902, - "end_line": 911, + "start_line": 921, + "end_line": 930, "start_column": 0, "end_column": 0, "depth": 3, @@ -2045,8 +2059,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 903, - "end_line": 903, + "start_line": 922, + "end_line": 922, "start_column": 0, "end_column": 0, "depth": 5, @@ -2059,8 +2073,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 906, - "end_line": 906, + "start_line": 925, + "end_line": 925, "start_column": 0, "end_column": 0, "depth": 5, @@ -2073,8 +2087,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 909, - "end_line": 909, + "start_line": 928, + "end_line": 928, "start_column": 0, "end_column": 0, "depth": 5, @@ -2087,8 +2101,8 @@ "type": "function", "name": "test_complex_ast", "full_name": "", - "start_line": 914, - "end_line": 955, + "start_line": 933, + "end_line": 974, "start_column": 0, "end_column": 0, "depth": 3, @@ -2101,8 +2115,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 916, - "end_line": 916, + "start_line": 935, + "end_line": 935, "start_column": 0, "end_column": 0, "depth": 5, @@ -2115,8 +2129,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 935, - "end_line": 949, + "start_line": 954, + "end_line": 968, "start_column": 0, "end_column": 0, "depth": 5, @@ -2129,8 +2143,8 @@ "type": "function", "name": "test_method_call", "full_name": "", - "start_line": 958, - "end_line": 971, + "start_line": 977, + "end_line": 990, "start_column": 0, "end_column": 0, "depth": 3, @@ -2143,8 +2157,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 960, - "end_line": 965, + "start_line": 979, + "end_line": 984, "start_column": 0, "end_column": 0, "depth": 5, @@ -2157,8 +2171,8 @@ "type": "function", "name": "test_binary_operation", "full_name": "", - "start_line": 974, - "end_line": 986, + "start_line": 993, + "end_line": 1005, "start_column": 0, "end_column": 0, "depth": 3, @@ -2171,8 +2185,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 976, - "end_line": 981, + "start_line": 995, + "end_line": 1000, "start_column": 0, "end_column": 0, "depth": 5, @@ -2186,49 +2200,645 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 93, - "max_depth": 14, + "total_nodes": 94, + "max_depth": 16, "node_type_counts": { - "if_statement": 16, "import": 10, + "class": 19, "for_loop": 2, + "file_root": 1, "function": 25, "variable": 20, - "file_root": 1, - "class": 19 + "if_statement": 17 }, "classes": 19, "functions": 25, "methods": 0, "variables": 20, - "control_structures": 18 + "control_structures": 19 }, - "generated_at": "2025-08-13T11:36:21.739234192Z" + "generated_at": "2025-08-15T16:17:53.906192736Z" }, { "file_info": { - "name": "mod.rs", - "path": "src/backend/mod.rs", + "name": "compiler.rs", + "path": "src/backend/aot/compiler.rs", "size_bytes": 0, - "total_lines": 7, - "code_lines": 2, - "comment_lines": 3, - "empty_lines": 2, - "code_ratio": 0.2857142857142857, - "analyzed_at": "2025-08-13T11:36:21.739109652Z", + "total_lines": 223, + "code_lines": 154, + "comment_lines": 31, + "empty_lines": 38, + "code_ratio": 0.6905829596412556, + "analyzed_at": "2025-08-15T16:17:53.906310481Z", "metadata": {} }, "language": "rust", - "classes": [], - "functions": [], + "classes": [ + { + "name": "AotCompiler", + "parent_class": null, + "start_line": 14, + "end_line": 18, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "AotCompiler", + "parent_class": null, + "start_line": 20, + "end_line": 152, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 22, + "end_line": 42, + "parameters": [ + "config: &AotConfig" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 25, + "end_line": 25, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "compile_mir_to_wasm", + "start_line": 45, + "end_line": 62, + "parameters": [ + "&mut self", + "mir_module: MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 50, + "end_line": 56, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "precompile_wasm", + "start_line": 65, + "end_line": 80, + "parameters": [ + "&mut self", + "wasm_bytes: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 70, + "end_line": 70, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 74, + "end_line": 74, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "compile_mir_to_native", + "start_line": 83, + "end_line": 86, + "parameters": [ + "&mut self", + "mir_module: MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute_precompiled", + "start_line": 89, + "end_line": 113, + "parameters": [ + "&self", + "precompiled_bytes: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 93, + "end_line": 93, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 99, + "end_line": 99, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 104, + "end_line": 104, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 105, + "end_line": 105, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 106, + "end_line": 106, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 110, + "end_line": 110, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "validate_wasm", + "start_line": 116, + "end_line": 120, + "parameters": [ + "&self", + "wasm_bytes: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 118, + "end_line": 118, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_stats", + "start_line": 123, + "end_line": 125, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "reset_stats", + "start_line": 128, + "end_line": 135, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "compression_ratio", + "start_line": 138, + "end_line": 143, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "engine_info", + "start_line": 146, + "end_line": 151, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_compiler_creation", + "start_line": 160, + "end_line": 165, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_empty_module_compilation", + "start_line": 168, + "end_line": 181, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_stats_tracking", + "start_line": 184, + "end_line": 193, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_wasm_validation", + "start_line": 196, + "end_line": 203, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_compression_ratio", + "start_line": 206, + "end_line": 212, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_engine_info", + "start_line": 215, + "end_line": 222, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], "imports": [ { "type": "rust_use", - "module_path": "vm::{VM, VMError, VMValue}", + "module_path": "super::{AotError, AotConfig, AotStats}", "imported_names": [], "alias": null, "line_number": 7, "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirModule", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::backend::wasm::{WasmBackend, WasmError}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasmtime::{Engine, Module}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::time::Instant", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 156, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirModule", + "imported_names": [], + "alias": null, + "line_number": 157, + "metadata": {} } ], "exports": [], @@ -2244,9 +2854,9 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 0, - "function_count": 0, - "import_count": 1, + "class_count": 2, + "function_count": 27, + "import_count": 7, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -2276,16 +2886,4216 @@ "children": [], "attributes": {}, "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotCompiler", + "full_name": "", + "start_line": 14, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotCompiler", + "full_name": "", + "start_line": 20, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 22, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 24, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 30, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_mir_to_wasm", + "full_name": "", + "start_line": 45, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 56, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "precompile_wasm", + "full_name": "", + "start_line": 65, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_mir_to_native", + "full_name": "", + "start_line": 83, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_precompiled", + "full_name": "", + "start_line": 89, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 98, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "validate_wasm", + "full_name": "", + "start_line": 116, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_stats", + "full_name": "", + "start_line": 123, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "reset_stats", + "full_name": "", + "start_line": 128, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compression_ratio", + "full_name": "", + "start_line": 138, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "engine_info", + "full_name": "", + "start_line": 146, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 157, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_compiler_creation", + "full_name": "", + "start_line": 160, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_empty_module_compilation", + "full_name": "", + "start_line": 168, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 170, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_stats_tracking", + "full_name": "", + "start_line": 184, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 187, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_wasm_validation", + "full_name": "", + "start_line": 196, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 198, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_compression_ratio", + "full_name": "", + "start_line": 206, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_engine_info", + "full_name": "", + "start_line": 215, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 216, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null } ], "attributes": {}, "source_text": null }, "ast_statistics": { - "total_nodes": 2, + "total_nodes": 58, + "max_depth": 6, + "node_type_counts": { + "import": 7, + "file_root": 1, + "class": 2, + "if_statement": 1, + "function": 16, + "variable": 31 + }, + "classes": 2, + "functions": 16, + "methods": 0, + "variables": 31, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:17:53.906324816Z" + }, + { + "file_info": { + "name": "config.rs", + "path": "src/backend/aot/config.rs", + "size_bytes": 0, + "total_lines": 256, + "code_lines": 185, + "comment_lines": 29, + "empty_lines": 42, + "code_ratio": 0.72265625, + "analyzed_at": "2025-08-15T16:17:53.906262647Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "AotConfig", + "parent_class": null, + "start_line": 12, + "end_line": 19, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "AotConfig", + "parent_class": null, + "start_line": 21, + "end_line": 203, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "AotConfig", + "parent_class": null, + "start_line": 205, + "end_line": 209, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Default", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 23, + "end_line": 62, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "debug", + "start_line": 65, + "end_line": 88, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "for_target", + "start_line": 91, + "end_line": 121, + "parameters": [ + "target: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "wasmtime_config", + "start_line": 124, + "end_line": 126, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "optimization_level", + "start_line": 129, + "end_line": 131, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "target_arch", + "start_line": 134, + "end_line": 136, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "simd_enabled", + "start_line": 139, + "end_line": 141, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "compatibility_key", + "start_line": 144, + "end_line": 154, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "rebuild_wasmtime_config", + "start_line": 157, + "end_line": 186, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "set_optimization_level", + "start_line": 189, + "end_line": 196, + "parameters": [ + "&mut self", + "level: u8" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_simd", + "start_line": 199, + "end_line": 202, + "parameters": [ + "&mut self", + "enabled: bool" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "default", + "start_line": 206, + "end_line": 208, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_default_config", + "start_line": 216, + "end_line": 220, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_debug_config", + "start_line": 223, + "end_line": 227, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_compatibility_key", + "start_line": 230, + "end_line": 235, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_target_config", + "start_line": 238, + "end_line": 242, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_optimization_level_setting", + "start_line": 245, + "end_line": 249, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_invalid_optimization_level", + "start_line": 252, + "end_line": 255, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::AotError", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasmtime::{Config, OptLevel, Strategy}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 213, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 3, + "function_count": 18, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotConfig", + "full_name": "", + "start_line": 12, + "end_line": 19, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotConfig", + "full_name": "", + "start_line": 21, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 23, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 24, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "debug", + "full_name": "", + "start_line": 65, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "for_target", + "full_name": "", + "start_line": 91, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "wasmtime_config", + "full_name": "", + "start_line": 124, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "optimization_level", + "full_name": "", + "start_line": 129, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "target_arch", + "full_name": "", + "start_line": 134, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "simd_enabled", + "full_name": "", + "start_line": 139, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compatibility_key", + "full_name": "", + "start_line": 144, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "rebuild_wasmtime_config", + "full_name": "", + "start_line": 157, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 158, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_optimization_level", + "full_name": "", + "start_line": 189, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 190, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_simd", + "full_name": "", + "start_line": 199, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotConfig", + "full_name": "", + "start_line": 205, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 206, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_default_config", + "full_name": "", + "start_line": 216, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_debug_config", + "full_name": "", + "start_line": 223, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_compatibility_key", + "full_name": "", + "start_line": 230, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_target_config", + "full_name": "", + "start_line": 238, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_optimization_level_setting", + "full_name": "", + "start_line": 245, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 246, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_invalid_optimization_level", + "full_name": "", + "start_line": 252, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 253, + "end_line": 253, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 44, + "max_depth": 12, + "node_type_counts": { + "function": 18, + "class": 3, + "import": 3, + "variable": 14, + "if_statement": 5, + "file_root": 1 + }, + "classes": 3, + "functions": 18, + "methods": 0, + "variables": 14, + "control_structures": 5 + }, + "generated_at": "2025-08-15T16:17:53.906277950Z" + }, + { + "file_info": { + "name": "executable.rs", + "path": "src/backend/aot/executable.rs", + "size_bytes": 0, + "total_lines": 280, + "code_lines": 192, + "comment_lines": 35, + "empty_lines": 53, + "code_ratio": 0.6857142857142857, + "analyzed_at": "2025-08-15T16:17:53.906035890Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ExecutableBuilder", + "parent_class": null, + "start_line": 12, + "end_line": 16, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 20, + "end_line": 26, + "parameters": [ + "config: &'a AotConfig" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "embed_precompiled_module", + "start_line": 29, + "end_line": 32, + "parameters": [ + "&mut self", + "module_data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "create_executable", + "start_line": 35, + "end_line": 58, + "parameters": [ + "&self", + "output_path: P" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 37, + "end_line": 37, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "generate_runtime_code", + "start_line": 61, + "end_line": 73, + "parameters": [ + "&self", + "module_data: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "format_module_bytes", + "start_line": 76, + "end_line": 89, + "parameters": [ + "&self", + "data: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_cargo_toml", + "start_line": 92, + "end_line": 112, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "compile_rust_executable", + "start_line": 115, + "end_line": 148, + "parameters": [ + "&self", + "temp_dir: P", + "output_path: Q" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 125, + "end_line": 125, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 145, + "end_line": 145, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_executable_builder_creation", + "start_line": 228, + "end_line": 233, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_embed_module", + "start_line": 236, + "end_line": 243, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_format_module_bytes", + "start_line": 246, + "end_line": 256, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_cargo_toml_generation", + "start_line": 259, + "end_line": 267, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_runtime_code_generation", + "start_line": 270, + "end_line": 279, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{AotError, AotConfig}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::path::Path", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fs", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 225, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 15, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExecutableBuilder", + "full_name": "", + "start_line": 12, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExecutableBuilder<'a>", + "full_name": "", + "start_line": 18, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 20, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "embed_precompiled_module", + "full_name": "", + "start_line": 29, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_executable", + "full_name": "", + "start_line": 35, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_runtime_code", + "full_name": "", + "start_line": 61, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "format_module_bytes", + "full_name": "", + "start_line": 76, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_cargo_toml", + "full_name": "", + "start_line": 92, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_rust_executable", + "full_name": "", + "start_line": 115, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 117, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 120, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 124, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 133, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "RUNTIME_TEMPLATE", + "full_name": "", + "start_line": 152, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 225, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_executable_builder_creation", + "full_name": "", + "start_line": 228, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 230, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_embed_module", + "full_name": "", + "start_line": 236, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 237, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 238, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_format_module_bytes", + "full_name": "", + "start_line": 246, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 247, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 248, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_cargo_toml_generation", + "full_name": "", + "start_line": 259, + "end_line": 267, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 262, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_runtime_code_generation", + "full_name": "", + "start_line": 270, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 271, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 272, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 273, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 275, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 59, + "max_depth": 9, + "node_type_counts": { + "for_loop": 1, + "file_root": 1, + "variable": 35, + "function": 12, + "import": 4, + "if_statement": 4, + "class": 2 + }, + "classes": 2, + "functions": 12, + "methods": 0, + "variables": 35, + "control_structures": 5 + }, + "generated_at": "2025-08-15T16:17:53.906052709Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/backend/aot/mod.rs", + "size_bytes": 0, + "total_lines": 151, + "code_lines": 107, + "comment_lines": 20, + "empty_lines": 24, + "code_ratio": 0.7086092715231788, + "analyzed_at": "2025-08-15T16:17:53.906141891Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "AotError", + "parent_class": null, + "start_line": 21, + "end_line": 27, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "AotError", + "parent_class": null, + "start_line": 29, + "end_line": 39, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + }, + { + "name": "AotError", + "parent_class": null, + "start_line": 41, + "end_line": 41, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::error::Error" + } + }, + { + "name": "AotError", + "parent_class": null, + "start_line": 43, + "end_line": 47, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "From", + "type": "impl" + } + }, + { + "name": "AotError", + "parent_class": null, + "start_line": 49, + "end_line": 53, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "From" + } + }, + { + "name": "AotBackend", + "parent_class": null, + "start_line": 56, + "end_line": 59, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "AotBackend", + "parent_class": null, + "start_line": 61, + "end_line": 117, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "AotBackend", + "parent_class": null, + "start_line": 119, + "end_line": 123, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Default" + } + }, + { + "name": "AotStats", + "parent_class": null, + "start_line": 127, + "end_line": 132, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + } + ], + "functions": [ + { + "name": "fmt", + "start_line": 30, + "end_line": 38, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "from", + "start_line": 44, + "end_line": 46, + "parameters": [ + "error" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "from", + "start_line": 50, + "end_line": 52, + "parameters": [ + "error" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 63, + "end_line": 71, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "with_config", + "start_line": 74, + "end_line": 81, + "parameters": [ + "config: AotConfig" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "compile_to_executable", + "start_line": 84, + "end_line": 93, + "parameters": [ + "&mut self", + "mir_module: MirModule", + "output_path: P" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "compile_to_precompiled", + "start_line": 96, + "end_line": 111, + "parameters": [ + "&mut self", + "mir_module: MirModule", + "output_path: P" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_stats", + "start_line": 114, + "end_line": 116, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "default", + "start_line": 120, + "end_line": 122, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_aot_backend_creation", + "start_line": 140, + "end_line": 144, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_default_config", + "start_line": 147, + "end_line": 150, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "compiler::AotCompiler", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "executable::ExecutableBuilder", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "config::AotConfig", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirModule", + "imported_names": [], + "alias": null, + "line_number": 16, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::path::Path", + "imported_names": [], + "alias": null, + "line_number": 17, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 136, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirModule", + "imported_names": [], + "alias": null, + "line_number": 137, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 9, + "function_count": 11, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 17, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotError", + "full_name": "", + "start_line": 21, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotError", + "full_name": "", + "start_line": 29, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 30, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotError", + "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotError", + "full_name": "", + "start_line": 43, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from", + "full_name": "", + "start_line": 44, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotError", + "full_name": "", + "start_line": 49, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from", + "full_name": "", + "start_line": 50, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotBackend", + "full_name": "", + "start_line": 56, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotBackend", + "full_name": "", + "start_line": 61, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 63, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "with_config", + "full_name": "", + "start_line": 74, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_to_executable", + "full_name": "", + "start_line": 84, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_to_precompiled", + "full_name": "", + "start_line": 96, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_stats", + "full_name": "", + "start_line": 114, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotBackend", + "full_name": "", + "start_line": 119, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 120, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotStats", + "full_name": "", + "start_line": 127, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_aot_backend_creation", + "full_name": "", + "start_line": 140, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_default_config", + "full_name": "", + "start_line": 147, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 36, + "max_depth": 5, + "node_type_counts": { + "variable": 8, + "class": 9, + "file_root": 1, + "import": 7, + "function": 11 + }, + "classes": 9, + "functions": 11, + "methods": 0, + "variables": 8, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:17:53.906153065Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/backend/mod.rs", + "size_bytes": 0, + "total_lines": 11, + "code_lines": 6, + "comment_lines": 3, + "empty_lines": 2, + "code_ratio": 0.5454545454545454, + "analyzed_at": "2025-08-15T16:17:53.919835440Z", + "metadata": {} + }, + "language": "rust", + "classes": [], + "functions": [], + "imports": [ + { + "type": "rust_use", + "module_path": "vm::{VM, VMError, VMValue}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm::{WasmBackend, WasmError}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "aot::{AotBackend, AotError, AotConfig, AotStats}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 0, + "function_count": 0, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 4, "max_depth": 1, "node_type_counts": { - "import": 1, + "import": 3, "file_root": 1 }, "classes": 0, @@ -2294,19 +7104,19 @@ "variables": 0, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.739110821Z" + "generated_at": "2025-08-15T16:17:53.919837031Z" }, { "file_info": { "name": "vm.rs", "path": "src/backend/vm.rs", "size_bytes": 0, - "total_lines": 589, - "code_lines": 422, - "comment_lines": 87, - "empty_lines": 80, - "code_ratio": 0.7164685908319185, - "analyzed_at": "2025-08-13T11:36:21.739194282Z", + "total_lines": 852, + "code_lines": 624, + "comment_lines": 124, + "empty_lines": 104, + "code_ratio": 0.7323943661971831, + "analyzed_at": "2025-08-15T16:17:53.906335570Z", "metadata": {} }, "language": "rust", @@ -2320,8 +7130,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "enum", - "modifiers": "pub" + "modifiers": "pub", + "type": "enum" } }, { @@ -2346,28 +7156,28 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "std::error::Error" + "implementing_trait": "std::error::Error", + "type": "impl" } }, { "name": "VMValue", "parent_class": null, "start_line": 39, - "end_line": 45, + "end_line": 46, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "enum" + "type": "enum", + "modifiers": "pub" } }, { "name": "VMValue", "parent_class": null, - "start_line": 47, - "end_line": 86, + "start_line": 48, + "end_line": 106, "methods": [], "properties": [], "member_variables": [], @@ -2378,8 +7188,8 @@ { "name": "VMValue", "parent_class": null, - "start_line": 88, - "end_line": 99, + "start_line": 108, + "end_line": 119, "methods": [], "properties": [], "member_variables": [], @@ -2391,21 +7201,21 @@ { "name": "VM", "parent_class": null, - "start_line": 102, - "end_line": 115, + "start_line": 122, + "end_line": 135, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { "name": "VM", "parent_class": null, - "start_line": 117, - "end_line": 530, + "start_line": 137, + "end_line": 793, "methods": [], "properties": [], "member_variables": [], @@ -2416,8 +7226,8 @@ { "name": "ControlFlow", "parent_class": null, - "start_line": 533, - "end_line": 537, + "start_line": 796, + "end_line": 800, "methods": [], "properties": [], "member_variables": [], @@ -2428,14 +7238,14 @@ { "name": "VM", "parent_class": null, - "start_line": 539, - "end_line": 543, + "start_line": 802, + "end_line": 806, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Default", - "type": "impl" + "type": "impl", + "implementing_trait": "Default" } } ], @@ -2463,8 +7273,8 @@ }, { "name": "to_nyash_box", - "start_line": 49, - "end_line": 57, + "start_line": 50, + "end_line": 59, "parameters": [ "&self" ], @@ -2478,14 +7288,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "to_string", - "start_line": 60, - "end_line": 68, + "start_line": 62, + "end_line": 71, "parameters": [ "&self" ], @@ -2505,8 +7315,8 @@ }, { "name": "as_integer", - "start_line": 71, - "end_line": 76, + "start_line": 74, + "end_line": 79, "parameters": [ "&self" ], @@ -2526,8 +7336,8 @@ }, { "name": "as_bool", - "start_line": 79, - "end_line": 85, + "start_line": 82, + "end_line": 88, "parameters": [ "&self" ], @@ -2541,14 +7351,35 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "from_nyash_box", + "start_line": 91, + "end_line": 105, + "parameters": [ + "nyash_box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" } }, { "name": "from", - "start_line": 89, - "end_line": 98, + "start_line": 109, + "end_line": 118, "parameters": [ "const_val: &ConstValue" ], @@ -2567,8 +7398,8 @@ }, { "name": "new", - "start_line": 119, - "end_line": 128, + "start_line": 139, + "end_line": 148, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -2580,14 +7411,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "execute_module", - "start_line": 131, - "end_line": 141, + "start_line": 151, + "end_line": 161, "parameters": [ "&mut self", "module: &MirModule" @@ -2602,14 +7433,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "closure", - "start_line": 134, - "end_line": 134, + "start_line": 154, + "end_line": 154, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -2626,8 +7457,8 @@ }, { "name": "execute_function", - "start_line": 144, - "end_line": 188, + "start_line": 164, + "end_line": 213, "parameters": [ "&mut self", "function: &MirFunction" @@ -2647,8 +7478,8 @@ }, { "name": "closure", - "start_line": 152, - "end_line": 152, + "start_line": 172, + "end_line": 172, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -2665,8 +7496,8 @@ }, { "name": "execute_instruction", - "start_line": 191, - "end_line": 443, + "start_line": 216, + "end_line": 588, "parameters": [ "&mut self", "instruction: &MirInstruction" @@ -2684,10 +7515,28 @@ "type": "function" } }, + { + "name": "closure", + "start_line": 561, + "end_line": 561, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, { "name": "get_value", - "start_line": 446, - "end_line": 450, + "start_line": 591, + "end_line": 595, "parameters": [ "&self", "value_id: ValueId" @@ -2707,8 +7556,8 @@ }, { "name": "closure", - "start_line": 449, - "end_line": 449, + "start_line": 594, + "end_line": 594, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -2725,8 +7574,8 @@ }, { "name": "execute_binary_op", - "start_line": 453, - "end_line": 489, + "start_line": 598, + "end_line": 634, "parameters": [ "&self", "op: &BinaryOp", @@ -2748,8 +7597,8 @@ }, { "name": "execute_unary_op", - "start_line": 492, - "end_line": 498, + "start_line": 637, + "end_line": 643, "parameters": [ "&self", "op: &UnaryOp", @@ -2770,8 +7619,8 @@ }, { "name": "execute_compare_op", - "start_line": 501, - "end_line": 529, + "start_line": 646, + "end_line": 674, "parameters": [ "&self", "op: &CompareOp", @@ -2791,10 +7640,33 @@ "type": "function" } }, + { + "name": "call_box_method", + "start_line": 677, + "end_line": 792, + "parameters": [ + "&self", + "box_value", + "method: &str", + "_args" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "default", - "start_line": 540, - "end_line": 542, + "start_line": 803, + "end_line": 805, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -2811,8 +7683,8 @@ }, { "name": "test_basic_vm_execution", - "start_line": 551, - "end_line": 565, + "start_line": 814, + "end_line": 828, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -2829,8 +7701,8 @@ }, { "name": "test_binary_operations", - "start_line": 568, - "end_line": 588, + "start_line": 831, + "end_line": 851, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -2876,7 +7748,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 547, + "line_number": 810, "metadata": {} }, { @@ -2884,7 +7756,7 @@ "module_path": "crate::mir::{MirModule, MirFunction, FunctionSignature, MirType, EffectMask, BasicBlock}", "imported_names": [], "alias": null, - "line_number": 548, + "line_number": 811, "metadata": {} } ], @@ -2902,7 +7774,7 @@ "metadata": {}, "stats": { "class_count": 10, - "function_count": 20, + "function_count": 23, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -3023,7 +7895,7 @@ "name": "VMValue", "full_name": "", "start_line": 39, - "end_line": 45, + "end_line": 46, "start_column": 0, "end_column": 0, "depth": 1, @@ -3036,8 +7908,8 @@ "type": "class", "name": "VMValue", "full_name": "", - "start_line": 47, - "end_line": 86, + "start_line": 48, + "end_line": 106, "start_column": 0, "end_column": 0, "depth": 1, @@ -3050,8 +7922,8 @@ "type": "function", "name": "to_nyash_box", "full_name": "", - "start_line": 49, - "end_line": 57, + "start_line": 50, + "end_line": 59, "start_column": 0, "end_column": 0, "depth": 3, @@ -3064,8 +7936,8 @@ "type": "function", "name": "to_string", "full_name": "", - "start_line": 60, - "end_line": 68, + "start_line": 62, + "end_line": 71, "start_column": 0, "end_column": 0, "depth": 3, @@ -3078,8 +7950,8 @@ "type": "function", "name": "as_integer", "full_name": "", - "start_line": 71, - "end_line": 76, + "start_line": 74, + "end_line": 79, "start_column": 0, "end_column": 0, "depth": 3, @@ -3092,8 +7964,8 @@ "type": "function", "name": "as_bool", "full_name": "", - "start_line": 79, - "end_line": 85, + "start_line": 82, + "end_line": 88, "start_column": 0, "end_column": 0, "depth": 3, @@ -3102,12 +7974,82 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "from_nyash_box", + "full_name": "", + "start_line": 91, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "VMValue", "full_name": "", - "start_line": 88, - "end_line": 99, + "start_line": 108, + "end_line": 119, "start_column": 0, "end_column": 0, "depth": 1, @@ -3120,8 +8062,8 @@ "type": "function", "name": "from", "full_name": "", - "start_line": 89, - "end_line": 98, + "start_line": 109, + "end_line": 118, "start_column": 0, "end_column": 0, "depth": 3, @@ -3134,8 +8076,8 @@ "type": "class", "name": "VM", "full_name": "", - "start_line": 102, - "end_line": 115, + "start_line": 122, + "end_line": 135, "start_column": 0, "end_column": 0, "depth": 1, @@ -3148,8 +8090,8 @@ "type": "class", "name": "VM", "full_name": "", - "start_line": 117, - "end_line": 530, + "start_line": 137, + "end_line": 793, "start_column": 0, "end_column": 0, "depth": 1, @@ -3162,8 +8104,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 119, - "end_line": 128, + "start_line": 139, + "end_line": 148, "start_column": 0, "end_column": 0, "depth": 3, @@ -3176,95 +8118,25 @@ "type": "function", "name": "execute_module", "full_name": "", - "start_line": 131, - "end_line": 141, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 133, - "end_line": 134, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 137, - "end_line": 137, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_function", - "full_name": "", - "start_line": 144, - "end_line": 188, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 148, - "end_line": 148, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 150, - "end_line": 187, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", "start_line": 151, - "end_line": 152, + "end_line": 161, "start_column": 0, "end_column": 0, - "depth": 8, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 153, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -3278,63 +8150,7 @@ "end_line": 157, "start_column": 0, "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 158, - "end_line": 158, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 161, - "end_line": 175, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 178, - "end_line": 186, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 180, - "end_line": 186, - "start_column": 0, - "end_column": 0, - "depth": 11, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -3342,10 +8158,10 @@ }, { "type": "function", - "name": "execute_instruction", + "name": "execute_function", "full_name": "", - "start_line": 191, - "end_line": 443, + "start_line": 164, + "end_line": 213, "start_column": 0, "end_column": 0, "depth": 3, @@ -3358,11 +8174,25 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 194, - "end_line": 194, + "start_line": 168, + "end_line": 168, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 170, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, @@ -3372,11 +8202,11 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 200, - "end_line": 200, + "start_line": 171, + "end_line": 172, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 8, "scope_path": "", "children": [], "attributes": {}, @@ -3386,11 +8216,11 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 201, - "end_line": 201, + "start_line": 177, + "end_line": 177, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 8, "scope_path": "", "children": [], "attributes": {}, @@ -3400,11 +8230,11 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 202, - "end_line": 202, + "start_line": 178, + "end_line": 178, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 8, "scope_path": "", "children": [], "attributes": {}, @@ -3412,97 +8242,27 @@ }, { "type": "variable", - "name": "", + "name": "Vec<_>", "full_name": "", - "start_line": 208, - "end_line": 208, + "start_line": 181, + "end_line": 181, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 8, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", + "type": "for_loop", "name": "", "full_name": "", - "start_line": 209, - "end_line": 209, + "start_line": 183, + "end_line": 198, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 215, - "end_line": 215, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 216, - "end_line": 216, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 217, - "end_line": 217, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 223, - "end_line": 223, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 229, - "end_line": 233, - "start_column": 0, - "end_column": 0, - "depth": 10, + "depth": 9, "scope_path": "", "children": [], "attributes": {}, @@ -3512,8 +8272,22 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 229, - "end_line": 233, + "start_line": 203, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 205, + "end_line": 211, "start_column": 0, "end_column": 0, "depth": 11, @@ -3522,6 +8296,118 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "execute_instruction", + "full_name": "", + "start_line": 216, + "end_line": 588, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 220, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 226, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 227, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 228, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 235, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -3551,14 +8437,28 @@ "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", - "start_line": 245, + "start_line": 249, "end_line": 249, "start_column": 0, "end_column": 0, - "depth": 11, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 10, "scope_path": "", "children": [], "attributes": {}, @@ -3569,7 +8469,7 @@ "name": "", "full_name": "", "start_line": 255, - "end_line": 258, + "end_line": 262, "start_column": 0, "end_column": 0, "depth": 11, @@ -3596,8 +8496,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 265, - "end_line": 265, + "start_line": 271, + "end_line": 271, "start_column": 0, "end_column": 0, "depth": 10, @@ -3624,8 +8524,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 280, - "end_line": 282, + "start_line": 274, + "end_line": 278, "start_column": 0, "end_column": 0, "depth": 11, @@ -3638,8 +8538,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 289, - "end_line": 291, + "start_line": 284, + "end_line": 287, "start_column": 0, "end_column": 0, "depth": 11, @@ -3652,8 +8552,22 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 312, - "end_line": 312, + "start_line": 285, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 294, + "end_line": 294, "start_column": 0, "end_column": 0, "depth": 10, @@ -3662,6 +8576,132 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 301, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 309, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 318, + "end_line": 318, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 321, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 322, + "end_line": 325, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 323, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 328, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 331, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -3670,7 +8710,7 @@ "end_line": 332, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 13, "scope_path": "", "children": [], "attributes": {}, @@ -3680,8 +8720,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 339, - "end_line": 339, + "start_line": 340, + "end_line": 365, "start_column": 0, "end_column": 0, "depth": 10, @@ -3694,8 +8734,64 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 351, - "end_line": 351, + "start_line": 343, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 353, + "end_line": 353, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 358, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 381, + "end_line": 381, "start_column": 0, "end_column": 0, "depth": 10, @@ -3708,8 +8804,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 375, - "end_line": 375, + "start_line": 401, + "end_line": 401, "start_column": 0, "end_column": 0, "depth": 10, @@ -3722,8 +8818,50 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 382, - "end_line": 392, + "start_line": 408, + "end_line": 408, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 420, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 444, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 451, + "end_line": 461, "start_column": 0, "end_column": 0, "depth": 10, @@ -3736,8 +8874,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 382, - "end_line": 392, + "start_line": 451, + "end_line": 461, "start_column": 0, "end_column": 0, "depth": 11, @@ -3750,8 +8888,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 383, - "end_line": 388, + "start_line": 452, + "end_line": 457, "start_column": 0, "end_column": 0, "depth": 14, @@ -3764,8 +8902,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 400, - "end_line": 400, + "start_line": 469, + "end_line": 469, "start_column": 0, "end_column": 0, "depth": 10, @@ -3778,8 +8916,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 403, - "end_line": 405, + "start_line": 472, + "end_line": 474, "start_column": 0, "end_column": 0, "depth": 11, @@ -3792,8 +8930,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 408, - "end_line": 410, + "start_line": 477, + "end_line": 479, "start_column": 0, "end_column": 0, "depth": 11, @@ -3806,8 +8944,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 418, - "end_line": 418, + "start_line": 487, + "end_line": 487, "start_column": 0, "end_column": 0, "depth": 10, @@ -3820,8 +8958,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 426, - "end_line": 426, + "start_line": 495, + "end_line": 495, "start_column": 0, "end_column": 0, "depth": 10, @@ -3830,96 +8968,12 @@ "attributes": {}, "source_text": null }, - { - "type": "function", - "name": "get_value", - "full_name": "", - "start_line": 446, - "end_line": 450, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_binary_op", - "full_name": "", - "start_line": 453, - "end_line": 489, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", "full_name": "", - "start_line": 456, - "end_line": 467, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 461, - "end_line": 463, - "start_column": 0, - "end_column": 0, - "depth": 16, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_unary_op", - "full_name": "", - "start_line": 492, - "end_line": 498, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_compare_op", - "full_name": "", - "start_line": 501, - "end_line": 529, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 504, - "end_line": 511, + "start_line": 514, + "end_line": 514, "start_column": 0, "end_column": 0, "depth": 10, @@ -3933,7 +8987,7 @@ "name": "", "full_name": "", "start_line": 516, - "end_line": 523, + "end_line": 516, "start_column": 0, "end_column": 0, "depth": 10, @@ -3942,12 +8996,670 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 518, + "end_line": 518, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 527, + "end_line": 527, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 528, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 530, + "end_line": 535, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 539, + "end_line": 539, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 542, + "end_line": 554, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 544, + "end_line": 544, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 548, + "end_line": 548, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Result, _>", + "full_name": "", + "start_line": 561, + "end_line": 561, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 562, + "end_line": 562, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 567, + "end_line": 573, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 568, + "end_line": 572, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 569, + "end_line": 571, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 576, + "end_line": 578, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 581, + "end_line": 583, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_value", + "full_name": "", + "start_line": 591, + "end_line": 595, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_binary_op", + "full_name": "", + "start_line": 598, + "end_line": 634, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 601, + "end_line": 612, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 606, + "end_line": 608, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_unary_op", + "full_name": "", + "start_line": 637, + "end_line": 643, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_compare_op", + "full_name": "", + "start_line": 646, + "end_line": 674, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 649, + "end_line": 656, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 661, + "end_line": 668, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "call_box_method", + "full_name": "", + "start_line": 677, + "end_line": 792, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 682, + "end_line": 725, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 692, + "end_line": 711, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 693, + "end_line": 710, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 694, + "end_line": 709, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 698, + "end_line": 698, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 699, + "end_line": 699, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 700, + "end_line": 700, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 702, + "end_line": 708, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 703, + "end_line": 703, + "start_column": 0, + "end_column": 0, + "depth": 25, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 704, + "end_line": 707, + "start_column": 0, + "end_column": 0, + "depth": 26, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 705, + "end_line": 705, + "start_column": 0, + "end_column": 0, + "depth": 28, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 716, + "end_line": 720, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 717, + "end_line": 717, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 718, + "end_line": 718, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 728, + "end_line": 738, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 741, + "end_line": 748, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 751, + "end_line": 788, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 754, + "end_line": 754, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 759, + "end_line": 767, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 760, + "end_line": 766, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 761, + "end_line": 761, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 762, + "end_line": 762, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 763, + "end_line": 765, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "ControlFlow", "full_name": "", - "start_line": 533, - "end_line": 537, + "start_line": 796, + "end_line": 800, "start_column": 0, "end_column": 0, "depth": 1, @@ -3960,8 +9672,8 @@ "type": "class", "name": "VM", "full_name": "", - "start_line": 539, - "end_line": 543, + "start_line": 802, + "end_line": 806, "start_column": 0, "end_column": 0, "depth": 1, @@ -3974,8 +9686,8 @@ "type": "function", "name": "default", "full_name": "", - "start_line": 540, - "end_line": 542, + "start_line": 803, + "end_line": 805, "start_column": 0, "end_column": 0, "depth": 3, @@ -3988,8 +9700,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 547, - "end_line": 547, + "start_line": 810, + "end_line": 810, "start_column": 0, "end_column": 0, "depth": 3, @@ -4002,8 +9714,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 548, - "end_line": 548, + "start_line": 811, + "end_line": 811, "start_column": 0, "end_column": 0, "depth": 3, @@ -4016,7 +9728,1735 @@ "type": "function", "name": "test_basic_vm_execution", "full_name": "", - "start_line": 551, + "start_line": 814, + "end_line": 828, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 815, + "end_line": 815, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 818, + "end_line": 821, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 823, + "end_line": 823, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 826, + "end_line": 826, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_binary_operations", + "full_name": "", + "start_line": 831, + "end_line": 851, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 832, + "end_line": 832, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 839, + "end_line": 844, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 846, + "end_line": 846, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 849, + "end_line": 849, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 149, + "max_depth": 28, + "node_type_counts": { + "if_statement": 35, + "file_root": 1, + "class": 10, + "function": 19, + "variable": 75, + "for_loop": 4, + "import": 5 + }, + "classes": 10, + "functions": 19, + "methods": 0, + "variables": 75, + "control_structures": 39 + }, + "generated_at": "2025-08-15T16:17:53.906390125Z" + }, + { + "file_info": { + "name": "codegen.rs", + "path": "src/backend/wasm/codegen.rs", + "size_bytes": 0, + "total_lines": 600, + "code_lines": 415, + "comment_lines": 96, + "empty_lines": 89, + "code_ratio": 0.6916666666666667, + "analyzed_at": "2025-08-15T16:17:53.906213534Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "WasmModule", + "parent_class": null, + "start_line": 13, + "end_line": 20, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "WasmModule", + "parent_class": null, + "start_line": 22, + "end_line": 72, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "WasmCodegen", + "parent_class": null, + "start_line": 75, + "end_line": 82, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "WasmCodegen", + "parent_class": null, + "start_line": 84, + "end_line": 573, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 23, + "end_line": 32, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "to_wat", + "start_line": 35, + "end_line": 71, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new", + "start_line": 85, + "end_line": 92, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "generate_module", + "start_line": 95, + "end_line": 138, + "parameters": [ + "&mut self", + "mir_module: MirModule", + "memory_manager: &MemoryManager", + "runtime: &RuntimeImports" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "generate_function", + "start_line": 141, + "end_line": 178, + "parameters": [ + "&mut self", + "name: &str", + "mir_function: MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "count_locals", + "start_line": 181, + "end_line": 203, + "parameters": [ + "&mut self", + "mir_function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_basic_block", + "start_line": 206, + "end_line": 225, + "parameters": [ + "&mut self", + "mir_function: &MirFunction", + "block_id: BasicBlockId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 208, + "end_line": 208, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "generate_instruction", + "start_line": 228, + "end_line": 411, + "parameters": [ + "&mut self", + "instruction: &MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_const", + "start_line": 414, + "end_line": 437, + "parameters": [ + "&mut self", + "dst: ValueId", + "value: &ConstValue" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_binop", + "start_line": 440, + "end_line": 459, + "parameters": [ + "&self", + "dst: ValueId", + "op: BinaryOp", + "lhs: ValueId", + "rhs: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_compare", + "start_line": 462, + "end_line": 478, + "parameters": [ + "&self", + "dst: ValueId", + "op: CompareOp", + "lhs: ValueId", + "rhs: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_return", + "start_line": 481, + "end_line": 490, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_string_box_const", + "start_line": 493, + "end_line": 519, + "parameters": [ + "&self", + "dst: ValueId", + "data_offset: u32", + "string_len: u32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_print", + "start_line": 522, + "end_line": 527, + "parameters": [ + "&self", + "value: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "register_string_literal", + "start_line": 530, + "end_line": 541, + "parameters": [ + "&mut self", + "string: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_data_segments", + "start_line": 544, + "end_line": 565, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 552, + "end_line": 552, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_local_index", + "start_line": 568, + "end_line": 572, + "parameters": [ + "&self", + "value_id: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 571, + "end_line": 571, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_wasm_module_wat_generation", + "start_line": 581, + "end_line": 590, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_constant_generation", + "start_line": 593, + "end_line": 599, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::mir::{MirModule, MirFunction, MirInstruction, ConstValue, BinaryOp, CompareOp, UnaryOp, ValueId, BasicBlockId}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::{WasmError, MemoryManager, RuntimeImports}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 577, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{MirModule, MirFunction, FunctionSignature, MirType, EffectMask, BasicBlock, BasicBlockId, ValueId}", + "imported_names": [], + "alias": null, + "line_number": 578, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 22, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmModule", + "full_name": "", + "start_line": 13, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmModule", + "full_name": "", + "start_line": 22, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 23, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_wat", + "full_name": "", + "start_line": 35, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 50, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmCodegen", + "full_name": "", + "start_line": 75, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmCodegen", + "full_name": "", + "start_line": 84, + "end_line": 573, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 85, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_module", + "full_name": "", + "start_line": 95, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 117, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 124, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 133, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_function", + "full_name": "", + "start_line": 141, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 172, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "count_locals", + "full_name": "", + "start_line": 181, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 182, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_basic_block", + "full_name": "", + "start_line": 206, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 210, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 220, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_instruction", + "full_name": "", + "start_line": 228, + "end_line": 411, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 294, + "end_line": 297, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 300, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 377, + "end_line": 384, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 386, + "end_line": 386, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 389, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 397, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_const", + "full_name": "", + "start_line": 414, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 415, + "end_line": 431, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 421, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 422, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_binop", + "full_name": "", + "start_line": 440, + "end_line": 459, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 441, + "end_line": 451, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_compare", + "full_name": "", + "start_line": 462, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 463, + "end_line": 470, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_return", + "full_name": "", + "start_line": 481, + "end_line": 490, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 482, + "end_line": 489, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_string_box_const", + "full_name": "", + "start_line": 493, + "end_line": 519, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_print", + "full_name": "", + "start_line": 522, + "end_line": 527, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_string_literal", + "full_name": "", + "start_line": 530, + "end_line": 541, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 531, + "end_line": 533, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 535, + "end_line": 535, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 536, + "end_line": 536, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_data_segments", + "full_name": "", + "start_line": 544, "end_line": 565, "start_column": 0, "end_column": 0, @@ -4030,8 +11470,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 552, - "end_line": 552, + "start_line": 545, + "end_line": 545, "start_column": 0, "end_column": 0, "depth": 5, @@ -4040,43 +11480,57 @@ "attributes": {}, "source_text": null }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 547, + "end_line": 562, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 548, + "end_line": 548, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 551, + "end_line": 553, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", "full_name": "", "start_line": 555, - "end_line": 558, + "end_line": 559, "start_column": 0, "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 560, - "end_line": 560, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 563, - "end_line": 563, - "start_column": 0, - "end_column": 0, - "depth": 5, + "depth": 8, "scope_path": "", "children": [], "attributes": {}, @@ -4084,10 +11538,52 @@ }, { "type": "function", - "name": "test_binary_operations", + "name": "get_local_index", "full_name": "", "start_line": 568, - "end_line": 588, + "end_line": 572, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 577, + "end_line": 577, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 578, + "end_line": 578, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_wasm_module_wat_generation", + "full_name": "", + "start_line": 581, + "end_line": 590, "start_column": 0, "end_column": 0, "depth": 3, @@ -4100,36 +11596,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 569, - "end_line": 569, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 576, - "end_line": 581, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 583, - "end_line": 583, + "start_line": 582, + "end_line": 582, "start_column": 0, "end_column": 0, "depth": 5, @@ -4151,51 +11619,107 @@ "children": [], "attributes": {}, "source_text": null + }, + { + "type": "function", + "name": "test_constant_generation", + "full_name": "", + "start_line": 593, + "end_line": 599, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 594, + "end_line": 594, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 595, + "end_line": 595, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 597, + "end_line": 597, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null } ], "attributes": {}, "source_text": null }, "ast_statistics": { - "total_nodes": 89, + "total_nodes": 86, "max_depth": 16, "node_type_counts": { - "class": 10, - "file_root": 1, - "for_loop": 2, "import": 5, - "function": 17, - "variable": 42, - "if_statement": 12 + "file_root": 1, + "class": 4, + "variable": 31, + "function": 19, + "for_loop": 17, + "if_statement": 9 }, - "classes": 10, - "functions": 17, + "classes": 4, + "functions": 19, "methods": 0, - "variables": 42, - "control_structures": 14 + "variables": 31, + "control_structures": 26 }, - "generated_at": "2025-08-13T11:36:21.739232231Z" + "generated_at": "2025-08-15T16:17:53.906252313Z" }, { "file_info": { - "name": "mod.rs", - "path": "src/boxes/array/mod.rs", + "name": "memory.rs", + "path": "src/backend/wasm/memory.rs", "size_bytes": 0, - "total_lines": 310, - "code_lines": 238, - "comment_lines": 27, - "empty_lines": 45, - "code_ratio": 0.7677419354838709, - "analyzed_at": "2025-08-13T11:36:21.740974727Z", + "total_lines": 406, + "code_lines": 314, + "comment_lines": 30, + "empty_lines": 62, + "code_ratio": 0.7733990147783252, + "analyzed_at": "2025-08-15T16:17:53.906052548Z", "metadata": {} }, "language": "rust", "classes": [ { - "name": "ArrayBox", + "name": "BoxLayout", "parent_class": null, - "start_line": 11, - "end_line": 14, + "start_line": 13, + "end_line": 17, "methods": [], "properties": [], "member_variables": [], @@ -4205,10 +11729,10 @@ } }, { - "name": "ArrayBox", + "name": "BoxLayout", "parent_class": null, - "start_line": 16, - "end_line": 237, + "start_line": 19, + "end_line": 50, "methods": [], "properties": [], "member_variables": [], @@ -4217,50 +11741,57 @@ } }, { - "name": "ArrayBox", + "name": "MemoryManager", "parent_class": null, - "start_line": 239, - "end_line": 263, + "start_line": 53, + "end_line": 58, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" + "type": "struct", + "modifiers": "pub" } }, { - "name": "ArrayBox", + "name": "MemoryManager", "parent_class": null, - "start_line": 265, - "end_line": 269, + "start_line": 60, + "end_line": 321, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "Display" - } - }, - { - "name": "ArrayBox", - "parent_class": null, - "start_line": 271, - "end_line": 310, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "type": "impl" } } ], "functions": [ { "name": "new", - "start_line": 18, - "end_line": 23, + "start_line": 20, + "end_line": 39, + "parameters": [ + "type_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 30, + "end_line": 30, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -4272,16 +11803,16 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "type": "closure" } }, { - "name": "new_with_elements", - "start_line": 26, - "end_line": 31, + "name": "add_field", + "start_line": 41, + "end_line": 45, "parameters": [ - "elements" + "&mut self", + "field_name: String" ], "is_async": false, "is_arrow_function": false, @@ -4297,10 +11828,4962 @@ "modifiers": "pub" } }, + { + "name": "get_field_offset", + "start_line": 47, + "end_line": 49, + "parameters": [ + "&self", + "field_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new", + "start_line": 61, + "end_line": 70, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "register_standard_box_types", + "start_line": 73, + "end_line": 85, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "register_box_type", + "start_line": 88, + "end_line": 96, + "parameters": [ + "&mut self", + "type_name: String", + "fields" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_box_layout", + "start_line": 99, + "end_line": 101, + "parameters": [ + "&self", + "type_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_globals", + "start_line": 104, + "end_line": 108, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_malloc_function", + "start_line": 111, + "end_line": 139, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_box_alloc_function", + "start_line": 142, + "end_line": 182, + "parameters": [ + "&self", + "type_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 144, + "end_line": 144, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_field_get_function", + "start_line": 185, + "end_line": 215, + "parameters": [ + "&self", + "type_name: &str", + "field_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 187, + "end_line": 187, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 190, + "end_line": 190, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_field_set_function", + "start_line": 218, + "end_line": 248, + "parameters": [ + "&self", + "type_name: &str", + "field_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 220, + "end_line": 220, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 223, + "end_line": 223, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_memory_layout_info", + "start_line": 251, + "end_line": 270, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_type_id", + "start_line": 273, + "end_line": 275, + "parameters": [ + "&self", + "type_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 274, + "end_line": 274, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_generic_box_alloc_function", + "start_line": 278, + "end_line": 320, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_box_layout_creation", + "start_line": 328, + "end_line": 333, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_box_layout_field_addition", + "start_line": 336, + "end_line": 344, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_memory_manager_standard_types", + "start_line": 347, + "end_line": 360, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_memory_manager_registration", + "start_line": 363, + "end_line": 372, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_malloc_function_generation", + "start_line": 375, + "end_line": 383, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_box_alloc_function_generation", + "start_line": 386, + "end_line": 394, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_generic_box_alloc_function", + "start_line": 397, + "end_line": 405, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::WasmError", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 325, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 29, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxLayout", + "full_name": "", + "start_line": 13, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxLayout", + "full_name": "", + "start_line": 19, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 20, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 22, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_field", + "full_name": "", + "start_line": 41, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field_offset", + "full_name": "", + "start_line": 47, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MemoryManager", + "full_name": "", + "start_line": 53, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MemoryManager", + "full_name": "", + "start_line": 60, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 61, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_standard_box_types", + "full_name": "", + "start_line": 73, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_box_type", + "full_name": "", + "start_line": 88, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_box_layout", + "full_name": "", + "start_line": 99, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_globals", + "full_name": "", + "start_line": 104, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_malloc_function", + "full_name": "", + "start_line": 111, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_box_alloc_function", + "full_name": "", + "start_line": 142, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field_get_function", + "full_name": "", + "start_line": 185, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field_set_function", + "full_name": "", + "start_line": 218, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_memory_layout_info", + "full_name": "", + "start_line": 251, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_type_id", + "full_name": "", + "start_line": 273, + "end_line": 275, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_generic_box_alloc_function", + "full_name": "", + "start_line": 278, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 325, + "end_line": 325, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_box_layout_creation", + "full_name": "", + "start_line": 328, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 329, + "end_line": 329, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_box_layout_field_addition", + "full_name": "", + "start_line": 336, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 337, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_memory_manager_standard_types", + "full_name": "", + "start_line": 347, + "end_line": 360, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_memory_manager_registration", + "full_name": "", + "start_line": 363, + "end_line": 372, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 364, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_malloc_function_generation", + "full_name": "", + "start_line": 375, + "end_line": 383, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 376, + "end_line": 376, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 377, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_box_alloc_function_generation", + "full_name": "", + "start_line": 386, + "end_line": 394, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 387, + "end_line": 387, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 388, + "end_line": 388, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_generic_box_alloc_function", + "full_name": "", + "start_line": 397, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 398, + "end_line": 398, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 399, + "end_line": 399, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 51, + "max_depth": 6, + "node_type_counts": { + "function": 22, + "file_root": 1, + "import": 3, + "variable": 20, + "for_loop": 1, + "class": 4 + }, + "classes": 4, + "functions": 22, + "methods": 0, + "variables": 20, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:17:53.906076476Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/backend/wasm/mod.rs", + "size_bytes": 0, + "total_lines": 155, + "code_lines": 109, + "comment_lines": 19, + "empty_lines": 27, + "code_ratio": 0.7032258064516129, + "analyzed_at": "2025-08-15T16:17:53.906069249Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "WasmError", + "parent_class": null, + "start_line": 21, + "end_line": 27, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "WasmError", + "parent_class": null, + "start_line": 29, + "end_line": 39, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + }, + { + "name": "WasmError", + "parent_class": null, + "start_line": 41, + "end_line": 41, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::error::Error" + } + }, + { + "name": "WasmBackend", + "parent_class": null, + "start_line": 44, + "end_line": 48, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "WasmBackend", + "parent_class": null, + "start_line": 50, + "end_line": 126, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "WasmBackend", + "parent_class": null, + "start_line": 128, + "end_line": 132, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Default", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "fmt", + "start_line": 30, + "end_line": 38, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 52, + "end_line": 58, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "compile_module", + "start_line": 61, + "end_line": 68, + "parameters": [ + "&mut self", + "mir_module: MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 67, + "end_line": 67, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "compile_to_wat", + "start_line": 71, + "end_line": 74, + "parameters": [ + "&mut self", + "mir_module: MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "execute_wasm", + "start_line": 77, + "end_line": 125, + "parameters": [ + "&self", + "wasm_bytes: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 80, + "end_line": 80, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 85, + "end_line": 87, + "parameters": [ + "value: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 90, + "end_line": 111, + "parameters": [ + "caller", + "ptr: i32", + "len: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 92, + "end_line": 92, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 93, + "end_line": 93, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 115, + "end_line": 115, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 119, + "end_line": 119, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 122, + "end_line": 122, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "default", + "start_line": 129, + "end_line": 131, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_backend_creation", + "start_line": 140, + "end_line": 144, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_empty_module_compilation", + "start_line": 147, + "end_line": 154, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "codegen::{WasmCodegen, WasmModule}", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "memory::{MemoryManager, BoxLayout}", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "runtime::RuntimeImports", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{MirModule, MirFunction}", + "imported_names": [], + "alias": null, + "line_number": 16, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 17, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 136, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirModule", + "imported_names": [], + "alias": null, + "line_number": 137, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 6, + "function_count": 17, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 17, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmError", + "full_name": "", + "start_line": 21, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmError", + "full_name": "", + "start_line": 29, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 30, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmError", + "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmBackend", + "full_name": "", + "start_line": 44, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmBackend", + "full_name": "", + "start_line": 50, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 52, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_module", + "full_name": "", + "start_line": 61, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_to_wat", + "full_name": "", + "start_line": 71, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_wasm", + "full_name": "", + "start_line": 77, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 79, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 100, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 113, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmBackend", + "full_name": "", + "start_line": 128, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 129, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_backend_creation", + "full_name": "", + "start_line": 140, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_empty_module_compilation", + "full_name": "", + "start_line": 147, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 152, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 44, + "max_depth": 14, + "node_type_counts": { + "variable": 20, + "import": 7, + "class": 6, + "function": 8, + "file_root": 1, + "if_statement": 2 + }, + "classes": 6, + "functions": 8, + "methods": 0, + "variables": 20, + "control_structures": 2 + }, + "generated_at": "2025-08-15T16:17:53.906079691Z" + }, + { + "file_info": { + "name": "runtime.rs", + "path": "src/backend/wasm/runtime.rs", + "size_bytes": 0, + "total_lines": 309, + "code_lines": 243, + "comment_lines": 29, + "empty_lines": 37, + "code_ratio": 0.7864077669902912, + "analyzed_at": "2025-08-15T16:17:53.906118233Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "RuntimeImports", + "parent_class": null, + "start_line": 11, + "end_line": 14, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ImportFunction", + "parent_class": null, + "start_line": 18, + "end_line": 23, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "RuntimeImports", + "parent_class": null, + "start_line": 25, + "end_line": 248, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 26, + "end_line": 34, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add_standard_imports", + "start_line": 37, + "end_line": 94, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "get_imports", + "start_line": 97, + "end_line": 120, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 98, + "end_line": 119, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "add_import", + "start_line": 123, + "end_line": 130, + "parameters": [ + "&mut self", + "module: String", + "name: String", + "params", + "result" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "has_import", + "start_line": 133, + "end_line": 135, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 134, + "end_line": 134, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_import", + "start_line": 138, + "end_line": 140, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 139, + "end_line": 139, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_js_import_object", + "start_line": 143, + "end_line": 216, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_wasmtime_imports", + "start_line": 219, + "end_line": 247, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_runtime_imports_creation", + "start_line": 255, + "end_line": 259, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_import_wat_generation", + "start_line": 262, + "end_line": 270, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_custom_import_addition", + "start_line": 273, + "end_line": 287, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_js_import_object_generation", + "start_line": 290, + "end_line": 298, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_wasmtime_imports_generation", + "start_line": 301, + "end_line": 308, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::WasmError", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 252, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 3, + "function_count": 16, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RuntimeImports", + "full_name": "", + "start_line": 11, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ImportFunction", + "full_name": "", + "start_line": 18, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RuntimeImports", + "full_name": "", + "start_line": 25, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 26, + "end_line": 34, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_standard_imports", + "full_name": "", + "start_line": 37, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_imports", + "full_name": "", + "start_line": 97, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_import", + "full_name": "", + "start_line": 123, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "has_import", + "full_name": "", + "start_line": 133, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_import", + "full_name": "", + "start_line": 138, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_js_import_object", + "full_name": "", + "start_line": 143, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "std::collections::HashMap>", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 153, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_wasmtime_imports", + "full_name": "", + "start_line": 219, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 220, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 244, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 252, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_runtime_imports_creation", + "full_name": "", + "start_line": 255, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 256, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_import_wat_generation", + "full_name": "", + "start_line": 262, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 263, + "end_line": 263, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 264, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_custom_import_addition", + "full_name": "", + "start_line": 273, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 274, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 283, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_js_import_object_generation", + "full_name": "", + "start_line": 290, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 291, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 292, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_wasmtime_imports_generation", + "full_name": "", + "start_line": 301, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 302, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 303, + "end_line": 303, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 40, + "max_depth": 12, + "node_type_counts": { + "file_root": 1, + "if_statement": 2, + "variable": 15, + "for_loop": 4, + "import": 2, + "class": 3, + "function": 13 + }, + "classes": 3, + "functions": 13, + "methods": 0, + "variables": 15, + "control_structures": 6 + }, + "generated_at": "2025-08-15T16:17:53.906140870Z" + }, + { + "file_info": { + "name": "benchmarks.rs", + "path": "src/benchmarks.rs", + "size_bytes": 0, + "total_lines": 236, + "code_lines": 168, + "comment_lines": 25, + "empty_lines": 43, + "code_ratio": 0.711864406779661, + "analyzed_at": "2025-08-15T16:17:53.906282984Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BenchmarkResult", + "parent_class": null, + "start_line": 18, + "end_line": 24, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "BenchmarkSuite", + "parent_class": null, + "start_line": 26, + "end_line": 28, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "BenchmarkSuite", + "parent_class": null, + "start_line": 30, + "end_line": 220, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 31, + "end_line": 33, + "parameters": [ + "iterations: u32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "run_all", + "start_line": 36, + "end_line": 68, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "run_interpreter_benchmark", + "start_line": 71, + "end_line": 97, + "parameters": [ + "&self", + "name: &str", + "source: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "run_vm_benchmark", + "start_line": 100, + "end_line": 128, + "parameters": [ + "&self", + "name: &str", + "source: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "run_wasm_benchmark", + "start_line": 131, + "end_line": 163, + "parameters": [ + "&self", + "name: &str", + "source: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "print_results", + "start_line": 166, + "end_line": 219, + "parameters": [ + "&self", + "results: &[BenchmarkResult]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 184, + "end_line": 184, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 201, + "end_line": 201, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 202, + "end_line": 202, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 203, + "end_line": 203, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 206, + "end_line": 206, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 207, + "end_line": 207, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 208, + "end_line": 208, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 211, + "end_line": 211, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 212, + "end_line": 212, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 213, + "end_line": 213, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_benchmark_light", + "start_line": 227, + "end_line": 235, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "std::time::Instant", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fs", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::parser::NyashParser", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::interpreter::NyashInterpreter", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirCompiler", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::backend::{VM, WasmBackend}", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 224, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 3, + "function_count": 17, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BenchmarkResult", + "full_name": "", + "start_line": 18, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BenchmarkSuite", + "full_name": "", + "start_line": 26, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BenchmarkSuite", + "full_name": "", + "start_line": 30, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 31, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run_all", + "full_name": "", + "start_line": 36, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run_interpreter_benchmark", + "full_name": "", + "start_line": 71, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 79, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run_vm_benchmark", + "full_name": "", + "start_line": 100, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 110, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 113, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run_wasm_benchmark", + "full_name": "", + "start_line": 131, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 132, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "print_results", + "full_name": "", + "start_line": 166, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "std::collections::HashMap>", + "full_name": "", + "start_line": 173, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 187, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "f64", + "full_name": "", + "start_line": 200, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "f64", + "full_name": "", + "start_line": 205, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "f64", + "full_name": "", + "start_line": 210, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_benchmark_light", + "full_name": "", + "start_line": 227, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 228, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 64, + "max_depth": 12, + "node_type_counts": { + "if_statement": 7, + "import": 7, + "class": 3, + "for_loop": 7, + "file_root": 1, + "function": 7, + "variable": 32 + }, + "classes": 3, + "functions": 7, + "methods": 0, + "variables": 32, + "control_structures": 14 + }, + "generated_at": "2025-08-15T16:17:53.906298964Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/array/mod.rs", + "size_bytes": 0, + "total_lines": 345, + "code_lines": 265, + "comment_lines": 31, + "empty_lines": 49, + "code_ratio": 0.7681159420289855, + "analyzed_at": "2025-08-15T16:17:53.920532895Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 10, + "end_line": 13, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 15, + "end_line": 236, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 239, + "end_line": 252, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 254, + "end_line": 278, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 280, + "end_line": 284, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 286, + "end_line": 334, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 337, + "end_line": 345, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Debug", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 17, + "end_line": 22, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new_with_elements", + "start_line": 25, + "end_line": 30, + "parameters": [ + "elements" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, { "name": "push", - "start_line": 34, - "end_line": 37, + "start_line": 33, + "end_line": 36, "parameters": [ "&self", "item" @@ -4321,50 +16804,8 @@ }, { "name": "pop", - "start_line": 40, - "end_line": 45, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "length", - "start_line": 48, - "end_line": 50, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "len", - "start_line": 53, - "end_line": 55, + "start_line": 39, + "end_line": 44, "parameters": [ "&self" ], @@ -4382,10 +16823,52 @@ "modifiers": "pub" } }, + { + "name": "length", + "start_line": 47, + "end_line": 49, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "len", + "start_line": 52, + "end_line": 54, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, { "name": "get", - "start_line": 58, - "end_line": 69, + "start_line": 57, + "end_line": 68, "parameters": [ "&self", "index" @@ -4400,14 +16883,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "set", - "start_line": 72, - "end_line": 85, + "start_line": 71, + "end_line": 84, "parameters": [ "&self", "index", @@ -4429,8 +16912,8 @@ }, { "name": "remove", - "start_line": 88, - "end_line": 100, + "start_line": 87, + "end_line": 99, "parameters": [ "&self", "index" @@ -4451,8 +16934,8 @@ }, { "name": "indexOf", - "start_line": 103, - "end_line": 111, + "start_line": 102, + "end_line": 110, "parameters": [ "&self", "value" @@ -4467,14 +16950,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "contains", - "start_line": 114, - "end_line": 122, + "start_line": 113, + "end_line": 121, "parameters": [ "&self", "value" @@ -4495,69 +16978,8 @@ }, { "name": "clear", - "start_line": 125, - "end_line": 128, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "join", - "start_line": 131, - "end_line": 142, - "parameters": [ - "&self", - "delimiter" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "closure", - "start_line": 136, - "end_line": 136, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "sort", - "start_line": 145, - "end_line": 190, + "start_line": 124, + "end_line": 127, "parameters": [ "&self" ], @@ -4575,10 +16997,32 @@ "modifiers": "pub" } }, + { + "name": "join", + "start_line": 130, + "end_line": 141, + "parameters": [ + "&self", + "delimiter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, { "name": "closure", - "start_line": 149, - "end_line": 187, + "start_line": 135, + "end_line": 135, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -4594,9 +17038,9 @@ } }, { - "name": "reverse", - "start_line": 193, - "end_line": 197, + "name": "sort", + "start_line": 144, + "end_line": 189, "parameters": [ "&self" ], @@ -4614,10 +17058,49 @@ "type": "function" } }, + { + "name": "closure", + "start_line": 148, + "end_line": 186, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "reverse", + "start_line": 192, + "end_line": 196, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, { "name": "slice", - "start_line": 200, - "end_line": 236, + "start_line": 199, + "end_line": 235, "parameters": [ "&self", "start", @@ -4633,14 +17116,52 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 231, + "end_line": 231, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "clone", + "start_line": 240, + "end_line": 251, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { "type": "function" } }, { "name": "closure", - "start_line": 232, - "end_line": 232, + "start_line": 244, + "end_line": 244, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -4657,8 +17178,8 @@ }, { "name": "box_id", - "start_line": 240, - "end_line": 242, + "start_line": 255, + "end_line": 257, "parameters": [ "&self" ], @@ -4677,8 +17198,8 @@ }, { "name": "parent_type_id", - "start_line": 244, - "end_line": 246, + "start_line": 259, + "end_line": 261, "parameters": [ "&self" ], @@ -4697,8 +17218,8 @@ }, { "name": "fmt_box", - "start_line": 248, - "end_line": 254, + "start_line": 263, + "end_line": 269, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -4718,8 +17239,8 @@ }, { "name": "closure", - "start_line": 251, - "end_line": 251, + "start_line": 266, + "end_line": 266, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -4736,8 +17257,8 @@ }, { "name": "as_any", - "start_line": 256, - "end_line": 258, + "start_line": 271, + "end_line": 273, "parameters": [ "&self" ], @@ -4756,8 +17277,8 @@ }, { "name": "as_any_mut", - "start_line": 260, - "end_line": 262, + "start_line": 275, + "end_line": 277, "parameters": [ "&mut self" ], @@ -4776,8 +17297,8 @@ }, { "name": "fmt", - "start_line": 266, - "end_line": 268, + "start_line": 281, + "end_line": 283, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -4797,8 +17318,28 @@ }, { "name": "clone_box", - "start_line": 272, - "end_line": 274, + "start_line": 287, + "end_line": 289, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 292, + "end_line": 298, "parameters": [ "&self" ], @@ -4817,8 +17358,8 @@ }, { "name": "to_string_box", - "start_line": 276, - "end_line": 282, + "start_line": 300, + "end_line": 306, "parameters": [ "&self" ], @@ -4837,8 +17378,8 @@ }, { "name": "closure", - "start_line": 279, - "end_line": 279, + "start_line": 303, + "end_line": 303, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -4855,8 +17396,8 @@ }, { "name": "type_name", - "start_line": 285, - "end_line": 287, + "start_line": 309, + "end_line": 311, "parameters": [ "&self" ], @@ -4875,8 +17416,8 @@ }, { "name": "equals", - "start_line": 290, - "end_line": 309, + "start_line": 314, + "end_line": 333, "parameters": [ "&self", "other: &dyn NyashBox" @@ -4893,6 +17434,27 @@ "metadata": { "type": "function" } + }, + { + "name": "fmt", + "start_line": 338, + "end_line": 344, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } } ], "imports": [ @@ -4914,7 +17476,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::{Arc, RwLock}", "imported_names": [], "alias": null, "line_number": 7, @@ -4933,7 +17495,7 @@ "module_path": "std::cmp::Ordering", "imported_names": [], "alias": null, - "line_number": 150, + "line_number": 149, "metadata": {} } ], @@ -4950,8 +17512,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 5, - "function_count": 31, + "class_count": 7, + "function_count": 35, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -5029,8 +17591,8 @@ "type": "class", "name": "ArrayBox", "full_name": "", - "start_line": 11, - "end_line": 14, + "start_line": 10, + "end_line": 13, "start_column": 0, "end_column": 0, "depth": 1, @@ -5043,8 +17605,8 @@ "type": "class", "name": "ArrayBox", "full_name": "", - "start_line": 16, - "end_line": 237, + "start_line": 15, + "end_line": 236, "start_column": 0, "end_column": 0, "depth": 1, @@ -5057,8 +17619,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 18, - "end_line": 23, + "start_line": 17, + "end_line": 22, "start_column": 0, "end_column": 0, "depth": 3, @@ -5071,8 +17633,8 @@ "type": "function", "name": "new_with_elements", "full_name": "", - "start_line": 26, - "end_line": 31, + "start_line": 25, + "end_line": 30, "start_column": 0, "end_column": 0, "depth": 3, @@ -5085,8 +17647,8 @@ "type": "function", "name": "push", "full_name": "", - "start_line": 34, - "end_line": 37, + "start_line": 33, + "end_line": 36, "start_column": 0, "end_column": 0, "depth": 3, @@ -5099,8 +17661,8 @@ "type": "function", "name": "pop", "full_name": "", - "start_line": 40, - "end_line": 45, + "start_line": 39, + "end_line": 44, "start_column": 0, "end_column": 0, "depth": 3, @@ -5113,8 +17675,8 @@ "type": "function", "name": "length", "full_name": "", - "start_line": 48, - "end_line": 50, + "start_line": 47, + "end_line": 49, "start_column": 0, "end_column": 0, "depth": 3, @@ -5127,8 +17689,8 @@ "type": "function", "name": "len", "full_name": "", - "start_line": 53, - "end_line": 55, + "start_line": 52, + "end_line": 54, "start_column": 0, "end_column": 0, "depth": 3, @@ -5141,8 +17703,8 @@ "type": "function", "name": "get", "full_name": "", - "start_line": 58, - "end_line": 69, + "start_line": 57, + "end_line": 68, "start_column": 0, "end_column": 0, "depth": 3, @@ -5155,8 +17717,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 59, - "end_line": 68, + "start_line": 58, + "end_line": 67, "start_column": 0, "end_column": 0, "depth": 6, @@ -5165,6 +17727,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -5179,26 +17755,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 61, - "end_line": 61, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", "name": "set", "full_name": "", - "start_line": 72, - "end_line": 85, + "start_line": 71, + "end_line": 84, "start_column": 0, "end_column": 0, "depth": 3, @@ -5211,8 +17773,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 73, - "end_line": 84, + "start_line": 72, + "end_line": 83, "start_column": 0, "end_column": 0, "depth": 6, @@ -5221,6 +17783,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -5235,26 +17811,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 75, - "end_line": 75, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 76, - "end_line": 81, + "start_line": 75, + "end_line": 80, "start_column": 0, "end_column": 0, "depth": 9, @@ -5267,8 +17829,8 @@ "type": "function", "name": "remove", "full_name": "", - "start_line": 88, - "end_line": 100, + "start_line": 87, + "end_line": 99, "start_column": 0, "end_column": 0, "depth": 3, @@ -5281,8 +17843,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 89, - "end_line": 99, + "start_line": 88, + "end_line": 98, "start_column": 0, "end_column": 0, "depth": 6, @@ -5291,6 +17853,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -5305,26 +17881,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 91, - "end_line": 91, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 92, - "end_line": 96, + "start_line": 91, + "end_line": 95, "start_column": 0, "end_column": 0, "depth": 9, @@ -5337,8 +17899,8 @@ "type": "function", "name": "indexOf", "full_name": "", - "start_line": 103, - "end_line": 111, + "start_line": 102, + "end_line": 110, "start_column": 0, "end_column": 0, "depth": 3, @@ -5351,8 +17913,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 104, - "end_line": 104, + "start_line": 103, + "end_line": 103, "start_column": 0, "end_column": 0, "depth": 5, @@ -5365,8 +17927,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 105, - "end_line": 109, + "start_line": 104, + "end_line": 108, "start_column": 0, "end_column": 0, "depth": 6, @@ -5379,8 +17941,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 106, - "end_line": 108, + "start_line": 105, + "end_line": 107, "start_column": 0, "end_column": 0, "depth": 9, @@ -5393,8 +17955,8 @@ "type": "function", "name": "contains", "full_name": "", - "start_line": 114, - "end_line": 122, + "start_line": 113, + "end_line": 121, "start_column": 0, "end_column": 0, "depth": 3, @@ -5407,8 +17969,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 115, - "end_line": 115, + "start_line": 114, + "end_line": 114, "start_column": 0, "end_column": 0, "depth": 5, @@ -5421,8 +17983,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 116, - "end_line": 120, + "start_line": 115, + "end_line": 119, "start_column": 0, "end_column": 0, "depth": 6, @@ -5435,8 +17997,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 117, - "end_line": 119, + "start_line": 116, + "end_line": 118, "start_column": 0, "end_column": 0, "depth": 9, @@ -5449,8 +18011,8 @@ "type": "function", "name": "clear", "full_name": "", - "start_line": 125, - "end_line": 128, + "start_line": 124, + "end_line": 127, "start_column": 0, "end_column": 0, "depth": 3, @@ -5463,8 +18025,8 @@ "type": "function", "name": "join", "full_name": "", - "start_line": 131, - "end_line": 142, + "start_line": 130, + "end_line": 141, "start_column": 0, "end_column": 0, "depth": 3, @@ -5477,8 +18039,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 132, - "end_line": 141, + "start_line": 131, + "end_line": 140, "start_column": 0, "end_column": 0, "depth": 6, @@ -5491,8 +18053,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 133, - "end_line": 133, + "start_line": 132, + "end_line": 132, "start_column": 0, "end_column": 0, "depth": 8, @@ -5505,8 +18067,8 @@ "type": "variable", "name": "Vec", "full_name": "", - "start_line": 134, - "end_line": 137, + "start_line": 133, + "end_line": 136, "start_column": 0, "end_column": 0, "depth": 8, @@ -5519,8 +18081,8 @@ "type": "function", "name": "sort", "full_name": "", - "start_line": 145, - "end_line": 190, + "start_line": 144, + "end_line": 189, "start_column": 0, "end_column": 0, "depth": 3, @@ -5533,8 +18095,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 146, - "end_line": 146, + "start_line": 145, + "end_line": 145, "start_column": 0, "end_column": 0, "depth": 5, @@ -5547,8 +18109,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 150, - "end_line": 150, + "start_line": 149, + "end_line": 149, "start_column": 0, "end_column": 0, "depth": 10, @@ -5561,8 +18123,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 153, - "end_line": 158, + "start_line": 152, + "end_line": 157, "start_column": 0, "end_column": 0, "depth": 11, @@ -5575,8 +18137,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 161, - "end_line": 166, + "start_line": 160, + "end_line": 165, "start_column": 0, "end_column": 0, "depth": 11, @@ -5589,8 +18151,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 169, - "end_line": 174, + "start_line": 168, + "end_line": 173, "start_column": 0, "end_column": 0, "depth": 11, @@ -5603,8 +18165,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 176, - "end_line": 181, + "start_line": 175, + "end_line": 180, "start_column": 0, "end_column": 0, "depth": 11, @@ -5613,6 +18175,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -5627,26 +18203,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 185, - "end_line": 185, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", "name": "reverse", "full_name": "", - "start_line": 193, - "end_line": 197, + "start_line": 192, + "end_line": 196, "start_column": 0, "end_column": 0, "depth": 3, @@ -5659,8 +18221,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 194, - "end_line": 194, + "start_line": 193, + "end_line": 193, "start_column": 0, "end_column": 0, "depth": 5, @@ -5673,8 +18235,8 @@ "type": "function", "name": "slice", "full_name": "", - "start_line": 200, - "end_line": 236, + "start_line": 199, + "end_line": 235, "start_column": 0, "end_column": 0, "depth": 3, @@ -5687,8 +18249,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 201, - "end_line": 201, + "start_line": 200, + "end_line": 200, "start_column": 0, "end_column": 0, "depth": 5, @@ -5701,8 +18263,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 204, - "end_line": 212, + "start_line": 203, + "end_line": 211, "start_column": 0, "end_column": 0, "depth": 5, @@ -5715,8 +18277,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 204, - "end_line": 212, + "start_line": 203, + "end_line": 211, "start_column": 0, "end_column": 0, "depth": 6, @@ -5729,8 +18291,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 205, - "end_line": 209, + "start_line": 204, + "end_line": 208, "start_column": 0, "end_column": 0, "depth": 9, @@ -5743,8 +18305,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 214, - "end_line": 222, + "start_line": 213, + "end_line": 221, "start_column": 0, "end_column": 0, "depth": 5, @@ -5757,8 +18319,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 214, - "end_line": 222, + "start_line": 213, + "end_line": 221, "start_column": 0, "end_column": 0, "depth": 6, @@ -5771,8 +18333,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 215, - "end_line": 219, + "start_line": 214, + "end_line": 218, "start_column": 0, "end_column": 0, "depth": 9, @@ -5785,8 +18347,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 225, - "end_line": 227, + "start_line": 224, + "end_line": 226, "start_column": 0, "end_column": 0, "depth": 6, @@ -5799,8 +18361,8 @@ "type": "variable", "name": "Vec>", "full_name": "", - "start_line": 230, - "end_line": 233, + "start_line": 229, + "end_line": 232, "start_column": 0, "end_column": 0, "depth": 5, @@ -5814,7 +18376,63 @@ "name": "ArrayBox", "full_name": "", "start_line": 239, - "end_line": 263, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 240, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 242, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec>", + "full_name": "", + "start_line": 243, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ArrayBox", + "full_name": "", + "start_line": 254, + "end_line": 278, "start_column": 0, "end_column": 0, "depth": 1, @@ -5827,8 +18445,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 240, - "end_line": 242, + "start_line": 255, + "end_line": 257, "start_column": 0, "end_column": 0, "depth": 3, @@ -5841,8 +18459,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 244, - "end_line": 246, + "start_line": 259, + "end_line": 261, "start_column": 0, "end_column": 0, "depth": 3, @@ -5855,8 +18473,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 248, - "end_line": 254, + "start_line": 263, + "end_line": 269, "start_column": 0, "end_column": 0, "depth": 3, @@ -5869,8 +18487,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 249, - "end_line": 249, + "start_line": 264, + "end_line": 264, "start_column": 0, "end_column": 0, "depth": 5, @@ -5883,8 +18501,8 @@ "type": "variable", "name": "Vec", "full_name": "", - "start_line": 250, - "end_line": 252, + "start_line": 265, + "end_line": 267, "start_column": 0, "end_column": 0, "depth": 5, @@ -5897,8 +18515,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 256, - "end_line": 258, + "start_line": 271, + "end_line": 273, "start_column": 0, "end_column": 0, "depth": 3, @@ -5911,8 +18529,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 260, - "end_line": 262, + "start_line": 275, + "end_line": 277, "start_column": 0, "end_column": 0, "depth": 3, @@ -5925,8 +18543,8 @@ "type": "class", "name": "ArrayBox", "full_name": "", - "start_line": 265, - "end_line": 269, + "start_line": 280, + "end_line": 284, "start_column": 0, "end_column": 0, "depth": 1, @@ -5939,8 +18557,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 266, - "end_line": 268, + "start_line": 281, + "end_line": 283, "start_column": 0, "end_column": 0, "depth": 3, @@ -5953,8 +18571,8 @@ "type": "class", "name": "ArrayBox", "full_name": "", - "start_line": 271, - "end_line": 310, + "start_line": 286, + "end_line": 334, "start_column": 0, "end_column": 0, "depth": 1, @@ -5967,8 +18585,8 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 272, - "end_line": 274, + "start_line": 287, + "end_line": 289, "start_column": 0, "end_column": 0, "depth": 3, @@ -5979,10 +18597,10 @@ }, { "type": "function", - "name": "to_string_box", + "name": "share_box", "full_name": "", - "start_line": 276, - "end_line": 282, + "start_line": 292, + "end_line": 298, "start_column": 0, "end_column": 0, "depth": 3, @@ -5995,8 +18613,36 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 277, - "end_line": 277, + "start_line": 293, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 300, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 301, + "end_line": 301, "start_column": 0, "end_column": 0, "depth": 5, @@ -6009,8 +18655,8 @@ "type": "variable", "name": "Vec", "full_name": "", - "start_line": 278, - "end_line": 280, + "start_line": 302, + "end_line": 304, "start_column": 0, "end_column": 0, "depth": 5, @@ -6023,8 +18669,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 285, - "end_line": 287, + "start_line": 309, + "end_line": 311, "start_column": 0, "end_column": 0, "depth": 3, @@ -6037,8 +18683,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 290, - "end_line": 309, + "start_line": 314, + "end_line": 333, "start_column": 0, "end_column": 0, "depth": 3, @@ -6051,8 +18697,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 291, - "end_line": 308, + "start_line": 315, + "end_line": 332, "start_column": 0, "end_column": 0, "depth": 6, @@ -6065,8 +18711,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 292, - "end_line": 292, + "start_line": 316, + "end_line": 316, "start_column": 0, "end_column": 0, "depth": 8, @@ -6079,8 +18725,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 293, - "end_line": 293, + "start_line": 317, + "end_line": 317, "start_column": 0, "end_column": 0, "depth": 8, @@ -6093,8 +18739,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 295, - "end_line": 297, + "start_line": 319, + "end_line": 321, "start_column": 0, "end_column": 0, "depth": 9, @@ -6107,8 +18753,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 299, - "end_line": 303, + "start_line": 323, + "end_line": 327, "start_column": 0, "end_column": 0, "depth": 9, @@ -6121,8 +18767,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 300, - "end_line": 302, + "start_line": 324, + "end_line": 326, "start_column": 0, "end_column": 0, "depth": 12, @@ -6130,42 +18776,84 @@ "children": [], "attributes": {}, "source_text": null + }, + { + "type": "class", + "name": "ArrayBox", + "full_name": "", + "start_line": 337, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 338, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 339, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null } ], "attributes": {}, "source_text": null }, "ast_statistics": { - "total_nodes": 84, + "total_nodes": 93, "max_depth": 12, "node_type_counts": { - "file_root": 1, - "function": 26, - "if_statement": 20, - "variable": 24, - "for_loop": 3, + "function": 29, "import": 5, - "class": 5 + "file_root": 1, + "if_statement": 20, + "variable": 28, + "class": 7, + "for_loop": 3 }, - "classes": 5, - "functions": 26, + "classes": 7, + "functions": 29, "methods": 0, - "variables": 24, + "variables": 28, "control_structures": 23 }, - "generated_at": "2025-08-13T11:36:21.740993122Z" + "generated_at": "2025-08-15T16:17:53.920552779Z" }, { "file_info": { "name": "audio_box.rs", "path": "src/boxes/audio_box.rs", "size_bytes": 0, - "total_lines": 331, - "code_lines": 214, - "comment_lines": 72, - "empty_lines": 45, - "code_ratio": 0.6465256797583081, - "analyzed_at": "2025-08-13T11:36:21.739036113Z", + "total_lines": 336, + "code_lines": 217, + "comment_lines": 73, + "empty_lines": 46, + "code_ratio": 0.6458333333333334, + "analyzed_at": "2025-08-15T16:17:53.906225170Z", "metadata": {} }, "language": "rust", @@ -6212,7 +18900,7 @@ "name": "AudioBox", "parent_class": null, "start_line": 305, - "end_line": 325, + "end_line": 330, "methods": [], "properties": [], "member_variables": [], @@ -6224,14 +18912,14 @@ { "name": "AudioBox", "parent_class": null, - "start_line": 327, - "end_line": 331, + "start_line": 332, + "end_line": 336, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "std::fmt::Display", - "type": "impl" + "type": "impl", + "implementing_trait": "std::fmt::Display" } } ], @@ -6251,8 +18939,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -6317,8 +19005,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -6338,8 +19026,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -6360,8 +19048,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -6402,8 +19090,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -6423,8 +19111,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -6467,8 +19155,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -6510,8 +19198,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -6549,8 +19237,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -6609,8 +19297,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -6630,8 +19318,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -6755,10 +19443,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 311, + "end_line": 313, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "to_string_box", - "start_line": 310, - "end_line": 312, + "start_line": 315, + "end_line": 317, "parameters": [ "&self" ], @@ -6777,8 +19485,8 @@ }, { "name": "type_name", - "start_line": 314, - "end_line": 316, + "start_line": 319, + "end_line": 321, "parameters": [ "&self" ], @@ -6797,8 +19505,8 @@ }, { "name": "equals", - "start_line": 318, - "end_line": 324, + "start_line": 323, + "end_line": 329, "parameters": [ "&self", "other: &dyn NyashBox" @@ -6818,8 +19526,8 @@ }, { "name": "fmt", - "start_line": 328, - "end_line": 330, + "start_line": 333, + "end_line": 335, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -6886,7 +19594,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 29, + "function_count": 30, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -7735,7 +20443,7 @@ "name": "AudioBox", "full_name": "", "start_line": 305, - "end_line": 325, + "end_line": 330, "start_column": 0, "end_column": 0, "depth": 1, @@ -7758,12 +20466,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 311, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 310, - "end_line": 312, + "start_line": 315, + "end_line": 317, "start_column": 0, "end_column": 0, "depth": 3, @@ -7776,8 +20498,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 314, - "end_line": 316, + "start_line": 319, + "end_line": 321, "start_column": 0, "end_column": 0, "depth": 3, @@ -7790,8 +20512,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 318, - "end_line": 324, + "start_line": 323, + "end_line": 329, "start_column": 0, "end_column": 0, "depth": 3, @@ -7804,8 +20526,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 319, - "end_line": 323, + "start_line": 324, + "end_line": 328, "start_column": 0, "end_column": 0, "depth": 6, @@ -7818,8 +20540,8 @@ "type": "class", "name": "AudioBox", "full_name": "", - "start_line": 327, - "end_line": 331, + "start_line": 332, + "end_line": 336, "start_column": 0, "end_column": 0, "depth": 1, @@ -7832,8 +20554,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 328, - "end_line": 330, + "start_line": 333, + "end_line": 335, "start_column": 0, "end_column": 0, "depth": 3, @@ -7847,36 +20569,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 68, + "total_nodes": 69, "max_depth": 18, "node_type_counts": { "class": 5, - "function": 27, - "variable": 14, - "for_loop": 1, - "import": 4, "file_root": 1, - "if_statement": 16 + "variable": 14, + "function": 28, + "import": 4, + "if_statement": 16, + "for_loop": 1 }, "classes": 5, - "functions": 27, + "functions": 28, "methods": 0, "variables": 14, "control_structures": 17 }, - "generated_at": "2025-08-13T11:36:21.739056974Z" + "generated_at": "2025-08-15T16:17:53.906244989Z" }, { "file_info": { "name": "bool_box.rs", "path": "src/boxes/bool_box.rs", "size_bytes": 0, - "total_lines": 119, - "code_lines": 62, - "comment_lines": 40, + "total_lines": 123, + "code_lines": 65, + "comment_lines": 41, "empty_lines": 17, - "code_ratio": 0.5210084033613446, - "analyzed_at": "2025-08-13T11:36:21.739002446Z", + "code_ratio": 0.5284552845528455, + "analyzed_at": "2025-08-15T16:17:53.906258545Z", "metadata": {} }, "language": "rust", @@ -7890,8 +20612,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -7910,20 +20632,20 @@ "name": "BoolBox", "parent_class": null, "start_line": 69, - "end_line": 91, + "end_line": 95, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "BoolBox", "parent_class": null, - "start_line": 93, - "end_line": 113, + "start_line": 97, + "end_line": 117, "methods": [], "properties": [], "member_variables": [], @@ -7935,14 +20657,14 @@ { "name": "BoolBox", "parent_class": null, - "start_line": 115, - "end_line": 119, + "start_line": 119, + "end_line": 123, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Display", - "type": "impl" + "type": "impl", + "implementing_trait": "Display" } } ], @@ -7983,8 +20705,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -8069,8 +20791,28 @@ }, { "name": "clone_box", - "start_line": 86, - "end_line": 88, + "start_line": 87, + "end_line": 89, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 92, + "end_line": 94, "parameters": [ "&self" ], @@ -8089,26 +20831,6 @@ }, { "name": "box_id", - "start_line": 94, - "end_line": 96, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "parent_type_id", "start_line": 98, "end_line": 100, "parameters": [ @@ -8128,9 +20850,29 @@ } }, { - "name": "fmt_box", + "name": "parent_type_id", "start_line": 102, "end_line": 104, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 106, + "end_line": 108, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -8150,8 +20892,8 @@ }, { "name": "as_any", - "start_line": 106, - "end_line": 108, + "start_line": 110, + "end_line": 112, "parameters": [ "&self" ], @@ -8170,8 +20912,8 @@ }, { "name": "as_any_mut", - "start_line": 110, - "end_line": 112, + "start_line": 114, + "end_line": 116, "parameters": [ "&mut self" ], @@ -8190,8 +20932,8 @@ }, { "name": "fmt", - "start_line": 116, - "end_line": 118, + "start_line": 120, + "end_line": 122, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -8250,7 +20992,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 13, + "function_count": 14, "import_count": 3, "export_count": 0, "unique_calls": 0, @@ -8385,7 +21127,7 @@ "name": "BoolBox", "full_name": "", "start_line": 69, - "end_line": 91, + "end_line": 95, "start_column": 0, "end_column": 0, "depth": 1, @@ -8468,8 +21210,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 86, - "end_line": 88, + "start_line": 87, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 92, + "end_line": 94, "start_column": 0, "end_column": 0, "depth": 3, @@ -8482,8 +21238,8 @@ "type": "class", "name": "BoolBox", "full_name": "", - "start_line": 93, - "end_line": 113, + "start_line": 97, + "end_line": 117, "start_column": 0, "end_column": 0, "depth": 1, @@ -8496,20 +21252,6 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 94, - "end_line": 96, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parent_type_id", - "full_name": "", "start_line": 98, "end_line": 100, "start_column": 0, @@ -8522,7 +21264,7 @@ }, { "type": "function", - "name": "fmt_box", + "name": "parent_type_id", "full_name": "", "start_line": 102, "end_line": 104, @@ -8536,7 +21278,7 @@ }, { "type": "function", - "name": "as_any", + "name": "fmt_box", "full_name": "", "start_line": 106, "end_line": 108, @@ -8550,7 +21292,7 @@ }, { "type": "function", - "name": "as_any_mut", + "name": "as_any", "full_name": "", "start_line": 110, "end_line": 112, @@ -8562,12 +21304,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 114, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "BoolBox", "full_name": "", - "start_line": 115, - "end_line": 119, + "start_line": 119, + "end_line": 123, "start_column": 0, "end_column": 0, "depth": 1, @@ -8580,8 +21336,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 116, - "end_line": 118, + "start_line": 120, + "end_line": 122, "start_column": 0, "end_column": 0, "depth": 3, @@ -8595,34 +21351,34 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 24, + "total_nodes": 25, "max_depth": 7, "node_type_counts": { - "function": 13, - "import": 3, - "file_root": 1, "if_statement": 2, - "class": 5 + "class": 5, + "file_root": 1, + "import": 3, + "function": 14 }, "classes": 5, - "functions": 13, + "functions": 14, "methods": 0, "variables": 0, "control_structures": 2 }, - "generated_at": "2025-08-13T11:36:21.739011224Z" + "generated_at": "2025-08-15T16:17:53.906266535Z" }, { "file_info": { "name": "mod.rs", "path": "src/boxes/buffer/mod.rs", "size_bytes": 0, - "total_lines": 211, - "code_lines": 145, - "comment_lines": 40, - "empty_lines": 26, - "code_ratio": 0.6872037914691943, - "analyzed_at": "2025-08-13T11:36:21.740662280Z", + "total_lines": 271, + "code_lines": 189, + "comment_lines": 50, + "empty_lines": 32, + "code_ratio": 0.6974169741697417, + "analyzed_at": "2025-08-15T16:17:53.921173094Z", "metadata": {} }, "language": "rust", @@ -8630,8 +21386,8 @@ { "name": "BufferBox", "parent_class": null, - "start_line": 38, - "end_line": 41, + "start_line": 37, + "end_line": 40, "methods": [], "properties": [], "member_variables": [], @@ -8643,8 +21399,8 @@ { "name": "BufferBox", "parent_class": null, - "start_line": 43, - "end_line": 154, + "start_line": 42, + "end_line": 182, "methods": [], "properties": [], "member_variables": [], @@ -8652,51 +21408,77 @@ "type": "impl" } }, - { - "name": "BufferBox", - "parent_class": null, - "start_line": 156, - "end_line": 177, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "BoxCore", - "type": "impl" - } - }, - { - "name": "BufferBox", - "parent_class": null, - "start_line": 179, - "end_line": 183, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "Display" - } - }, { "name": "BufferBox", "parent_class": null, "start_line": 185, - "end_line": 211, + "end_line": 194, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "BufferBox", + "parent_class": null, + "start_line": 196, + "end_line": 217, "methods": [], "properties": [], "member_variables": [], "metadata": { "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "BoxCore" + } + }, + { + "name": "BufferBox", + "parent_class": null, + "start_line": 219, + "end_line": 223, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "BufferBox", + "parent_class": null, + "start_line": 225, + "end_line": 260, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "BufferBox", + "parent_class": null, + "start_line": 263, + "end_line": 271, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Debug" } } ], "functions": [ { "name": "new", - "start_line": 44, - "end_line": 49, + "start_line": 43, + "end_line": 48, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -8707,36 +21489,36 @@ "rating": "simple", "rating_emoji": "🟢" }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "len", - "start_line": 52, - "end_line": 54, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, "metadata": { "modifiers": "pub", "type": "function" } }, + { + "name": "len", + "start_line": 51, + "end_line": 53, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, { "name": "from_vec", - "start_line": 56, - "end_line": 61, + "start_line": 55, + "end_line": 60, "parameters": [ "data" ], @@ -8756,8 +21538,8 @@ }, { "name": "write", - "start_line": 64, - "end_line": 81, + "start_line": 63, + "end_line": 80, "parameters": [ "&self", "data" @@ -8772,14 +21554,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "readAll", - "start_line": 84, - "end_line": 91, + "start_line": 83, + "end_line": 90, "parameters": [ "&self" ], @@ -8793,14 +21575,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "read", - "start_line": 94, - "end_line": 109, + "start_line": 93, + "end_line": 108, "parameters": [ "&self", "count" @@ -8814,36 +21596,36 @@ "rating": "simple", "rating_emoji": "🟢" }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear", + "start_line": 111, + "end_line": 114, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, "metadata": { "modifiers": "pub", "type": "function" } }, - { - "name": "clear", - "start_line": 112, - "end_line": 115, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, { "name": "length", - "start_line": 118, - "end_line": 120, + "start_line": 117, + "end_line": 119, "parameters": [ "&self" ], @@ -8857,14 +21639,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "append", - "start_line": 123, - "end_line": 132, + "start_line": 122, + "end_line": 131, "parameters": [ "&self", "other" @@ -8879,14 +21661,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "slice", - "start_line": 135, - "end_line": 153, + "start_line": 134, + "end_line": 152, "parameters": [ "&self", "start", @@ -8906,10 +21688,95 @@ "type": "function" } }, + { + "name": "is_shared_with", + "start_line": 155, + "end_line": 164, + "parameters": [ + "&self", + "other" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "share_reference", + "start_line": 167, + "end_line": 174, + "parameters": [ + "&self", + "_data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "memory_footprint", + "start_line": 177, + "end_line": 181, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clone", + "start_line": 186, + "end_line": 193, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "box_id", - "start_line": 157, - "end_line": 159, + "start_line": 197, + "end_line": 199, "parameters": [ "&self" ], @@ -8928,8 +21795,8 @@ }, { "name": "parent_type_id", - "start_line": 161, - "end_line": 163, + "start_line": 201, + "end_line": 203, "parameters": [ "&self" ], @@ -8948,8 +21815,8 @@ }, { "name": "fmt_box", - "start_line": 165, - "end_line": 168, + "start_line": 205, + "end_line": 208, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -8969,8 +21836,8 @@ }, { "name": "as_any", - "start_line": 170, - "end_line": 172, + "start_line": 210, + "end_line": 212, "parameters": [ "&self" ], @@ -8989,8 +21856,8 @@ }, { "name": "as_any_mut", - "start_line": 174, - "end_line": 176, + "start_line": 214, + "end_line": 216, "parameters": [ "&mut self" ], @@ -9009,8 +21876,8 @@ }, { "name": "fmt", - "start_line": 180, - "end_line": 182, + "start_line": 220, + "end_line": 222, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -9030,8 +21897,28 @@ }, { "name": "clone_box", - "start_line": 186, - "end_line": 188, + "start_line": 226, + "end_line": 228, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 231, + "end_line": 237, "parameters": [ "&self" ], @@ -9050,8 +21937,8 @@ }, { "name": "to_string_box", - "start_line": 190, - "end_line": 193, + "start_line": 239, + "end_line": 242, "parameters": [ "&self" ], @@ -9070,8 +21957,8 @@ }, { "name": "type_name", - "start_line": 196, - "end_line": 198, + "start_line": 245, + "end_line": 247, "parameters": [ "&self" ], @@ -9090,8 +21977,8 @@ }, { "name": "equals", - "start_line": 201, - "end_line": 210, + "start_line": 250, + "end_line": 259, "parameters": [ "&self", "other: &dyn NyashBox" @@ -9108,6 +21995,27 @@ "metadata": { "type": "function" } + }, + { + "name": "fmt", + "start_line": 264, + "end_line": 270, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } } ], "imports": [ @@ -9137,7 +22045,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::{Arc, RwLock}", "imported_names": [], "alias": null, "line_number": 34, @@ -9165,8 +22073,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 5, - "function_count": 20, + "class_count": 7, + "function_count": 26, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -9258,8 +22166,8 @@ "type": "class", "name": "BufferBox", "full_name": "", - "start_line": 38, - "end_line": 41, + "start_line": 37, + "end_line": 40, "start_column": 0, "end_column": 0, "depth": 1, @@ -9272,8 +22180,8 @@ "type": "class", "name": "BufferBox", "full_name": "", - "start_line": 43, - "end_line": 154, + "start_line": 42, + "end_line": 182, "start_column": 0, "end_column": 0, "depth": 1, @@ -9286,8 +22194,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 44, - "end_line": 49, + "start_line": 43, + "end_line": 48, "start_column": 0, "end_column": 0, "depth": 3, @@ -9300,8 +22208,8 @@ "type": "function", "name": "len", "full_name": "", - "start_line": 52, - "end_line": 54, + "start_line": 51, + "end_line": 53, "start_column": 0, "end_column": 0, "depth": 3, @@ -9314,8 +22222,8 @@ "type": "function", "name": "from_vec", "full_name": "", - "start_line": 56, - "end_line": 61, + "start_line": 55, + "end_line": 60, "start_column": 0, "end_column": 0, "depth": 3, @@ -9328,8 +22236,8 @@ "type": "function", "name": "write", "full_name": "", - "start_line": 64, - "end_line": 81, + "start_line": 63, + "end_line": 80, "start_column": 0, "end_column": 0, "depth": 3, @@ -9342,8 +22250,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 66, - "end_line": 80, + "start_line": 65, + "end_line": 79, "start_column": 0, "end_column": 0, "depth": 6, @@ -9352,6 +22260,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -9366,26 +22288,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 68, - "end_line": 68, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "for_loop", "name": "", "full_name": "", - "start_line": 69, - "end_line": 75, + "start_line": 68, + "end_line": 74, "start_column": 0, "end_column": 0, "depth": 9, @@ -9398,8 +22306,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 70, - "end_line": 74, + "start_line": 69, + "end_line": 73, "start_column": 0, "end_column": 0, "depth": 12, @@ -9412,8 +22320,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 71, - "end_line": 73, + "start_line": 70, + "end_line": 72, "start_column": 0, "end_column": 0, "depth": 15, @@ -9426,8 +22334,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 78, - "end_line": 78, + "start_line": 77, + "end_line": 77, "start_column": 0, "end_column": 0, "depth": 9, @@ -9440,8 +22348,8 @@ "type": "function", "name": "readAll", "full_name": "", - "start_line": 84, - "end_line": 91, + "start_line": 83, + "end_line": 90, "start_column": 0, "end_column": 0, "depth": 3, @@ -9450,6 +22358,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -9464,26 +22386,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 86, - "end_line": 86, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "for_loop", "name": "", "full_name": "", - "start_line": 87, - "end_line": 89, + "start_line": 86, + "end_line": 88, "start_column": 0, "end_column": 0, "depth": 6, @@ -9496,8 +22404,8 @@ "type": "function", "name": "read", "full_name": "", - "start_line": 94, - "end_line": 109, + "start_line": 93, + "end_line": 108, "start_column": 0, "end_column": 0, "depth": 3, @@ -9510,8 +22418,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 95, - "end_line": 108, + "start_line": 94, + "end_line": 107, "start_column": 0, "end_column": 0, "depth": 6, @@ -9520,6 +22428,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -9548,26 +22470,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 98, - "end_line": 98, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "Vec", "full_name": "", - "start_line": 101, - "end_line": 101, + "start_line": 100, + "end_line": 100, "start_column": 0, "end_column": 0, "depth": 8, @@ -9580,8 +22488,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 102, - "end_line": 104, + "start_line": 101, + "end_line": 103, "start_column": 0, "end_column": 0, "depth": 9, @@ -9594,8 +22502,8 @@ "type": "function", "name": "clear", "full_name": "", - "start_line": 112, - "end_line": 115, + "start_line": 111, + "end_line": 114, "start_column": 0, "end_column": 0, "depth": 3, @@ -9608,8 +22516,8 @@ "type": "function", "name": "length", "full_name": "", - "start_line": 118, - "end_line": 120, + "start_line": 117, + "end_line": 119, "start_column": 0, "end_column": 0, "depth": 3, @@ -9622,8 +22530,8 @@ "type": "function", "name": "append", "full_name": "", - "start_line": 123, - "end_line": 132, + "start_line": 122, + "end_line": 131, "start_column": 0, "end_column": 0, "depth": 3, @@ -9636,8 +22544,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 124, - "end_line": 131, + "start_line": 123, + "end_line": 130, "start_column": 0, "end_column": 0, "depth": 6, @@ -9646,6 +22554,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 124, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -9660,26 +22582,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 126, - "end_line": 126, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", "name": "slice", "full_name": "", - "start_line": 135, - "end_line": 153, + "start_line": 134, + "end_line": 152, "start_column": 0, "end_column": 0, "depth": 3, @@ -9692,8 +22600,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 136, - "end_line": 152, + "start_line": 135, + "end_line": 151, "start_column": 0, "end_column": 0, "depth": 6, @@ -9702,6 +22610,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -9730,26 +22652,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 142, - "end_line": 142, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 144, - "end_line": 149, + "start_line": 143, + "end_line": 148, "start_column": 0, "end_column": 0, "depth": 9, @@ -9762,8 +22670,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 145, - "end_line": 145, + "start_line": 144, + "end_line": 144, "start_column": 0, "end_column": 0, "depth": 11, @@ -9772,26 +22680,12 @@ "attributes": {}, "source_text": null }, - { - "type": "class", - "name": "BufferBox", - "full_name": "", - "start_line": 156, - "end_line": 177, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", - "name": "box_id", + "name": "is_shared_with", "full_name": "", - "start_line": 157, - "end_line": 159, + "start_line": 155, + "end_line": 164, "start_column": 0, "end_column": 0, "depth": 3, @@ -9801,14 +22695,28 @@ "source_text": null }, { - "type": "function", - "name": "parent_type_id", + "type": "if_statement", + "name": "", "full_name": "", - "start_line": 161, + "start_line": 156, "end_line": 163, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 158, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 8, "scope_path": "", "children": [], "attributes": {}, @@ -9816,10 +22724,10 @@ }, { "type": "function", - "name": "fmt_box", + "name": "share_reference", "full_name": "", - "start_line": 165, - "end_line": 168, + "start_line": 167, + "end_line": 174, "start_column": 0, "end_column": 0, "depth": 3, @@ -9832,8 +22740,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 166, - "end_line": 166, + "start_line": 169, + "end_line": 172, "start_column": 0, "end_column": 0, "depth": 5, @@ -9844,10 +22752,10 @@ }, { "type": "function", - "name": "as_any", + "name": "memory_footprint", "full_name": "", - "start_line": 170, - "end_line": 172, + "start_line": 177, + "end_line": 181, "start_column": 0, "end_column": 0, "depth": 3, @@ -9857,42 +22765,28 @@ "source_text": null }, { - "type": "function", - "name": "as_any_mut", + "type": "variable", + "name": "", "full_name": "", - "start_line": 174, - "end_line": 176, + "start_line": 178, + "end_line": 178, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "class", - "name": "BufferBox", + "type": "variable", + "name": "", "full_name": "", "start_line": 179, - "end_line": 183, + "end_line": 179, "start_column": 0, "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt", - "full_name": "", - "start_line": 180, - "end_line": 182, - "start_column": 0, - "end_column": 0, - "depth": 3, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -9903,7 +22797,7 @@ "name": "BufferBox", "full_name": "", "start_line": 185, - "end_line": 211, + "end_line": 194, "start_column": 0, "end_column": 0, "depth": 1, @@ -9914,23 +22808,9 @@ }, { "type": "function", - "name": "clone_box", + "name": "clone", "full_name": "", "start_line": 186, - "end_line": 188, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "to_string_box", - "full_name": "", - "start_line": 190, "end_line": 193, "start_column": 0, "end_column": 0, @@ -9944,8 +22824,218 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 191, - "end_line": 191, + "start_line": 188, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 196, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 197, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 201, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 205, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 210, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 214, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 219, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 220, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 225, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 226, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 231, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 239, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 240, "start_column": 0, "end_column": 0, "depth": 5, @@ -9958,8 +23048,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 196, - "end_line": 198, + "start_line": 245, + "end_line": 247, "start_column": 0, "end_column": 0, "depth": 3, @@ -9972,8 +23062,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 201, - "end_line": 210, + "start_line": 250, + "end_line": 259, "start_column": 0, "end_column": 0, "depth": 3, @@ -9986,8 +23076,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 202, - "end_line": 209, + "start_line": 251, + "end_line": 258, "start_column": 0, "end_column": 0, "depth": 6, @@ -10000,8 +23090,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 204, - "end_line": 204, + "start_line": 253, + "end_line": 253, "start_column": 0, "end_column": 0, "depth": 8, @@ -10014,8 +23104,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 205, - "end_line": 205, + "start_line": 254, + "end_line": 254, "start_column": 0, "end_column": 0, "depth": 8, @@ -10023,42 +23113,84 @@ "children": [], "attributes": {}, "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 263, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 264, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 265, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null } ], "attributes": {}, "source_text": null }, "ast_statistics": { - "total_nodes": 61, + "total_nodes": 77, "max_depth": 15, "node_type_counts": { - "class": 5, - "variable": 19, - "for_loop": 3, - "function": 20, + "if_statement": 9, + "class": 7, + "variable": 26, "import": 5, - "file_root": 1, - "if_statement": 8 + "for_loop": 3, + "function": 26, + "file_root": 1 }, - "classes": 5, - "functions": 20, + "classes": 7, + "functions": 26, "methods": 0, - "variables": 19, - "control_structures": 11 + "variables": 26, + "control_structures": 12 }, - "generated_at": "2025-08-13T11:36:21.740675436Z" + "generated_at": "2025-08-15T16:17:53.921189978Z" }, { "file_info": { "name": "canvas_event_box.rs", "path": "src/boxes/canvas_event_box.rs", "size_bytes": 0, - "total_lines": 299, - "code_lines": 185, - "comment_lines": 76, - "empty_lines": 38, - "code_ratio": 0.6187290969899666, - "analyzed_at": "2025-08-13T11:36:21.749943411Z", + "total_lines": 304, + "code_lines": 188, + "comment_lines": 77, + "empty_lines": 39, + "code_ratio": 0.618421052631579, + "analyzed_at": "2025-08-15T16:17:53.906162829Z", "metadata": {} }, "language": "rust", @@ -10097,34 +23229,34 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "BoxCore", - "type": "impl" + "type": "impl", + "implementing_trait": "BoxCore" } }, { "name": "CanvasEventBox", "parent_class": null, "start_line": 273, - "end_line": 293, + "end_line": 298, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "CanvasEventBox", "parent_class": null, - "start_line": 295, - "end_line": 299, + "start_line": 300, + "end_line": 304, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "std::fmt::Display", - "type": "impl" + "type": "impl", + "implementing_trait": "std::fmt::Display" } } ], @@ -10208,8 +23340,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -10230,8 +23362,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -10315,8 +23447,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -10441,8 +23573,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -10483,8 +23615,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -10545,8 +23677,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -10566,8 +23698,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -10608,8 +23740,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -10629,8 +23761,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -10754,10 +23886,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 279, + "end_line": 281, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "to_string_box", - "start_line": 278, - "end_line": 280, + "start_line": 283, + "end_line": 285, "parameters": [ "&self" ], @@ -10776,8 +23928,8 @@ }, { "name": "type_name", - "start_line": 282, - "end_line": 284, + "start_line": 287, + "end_line": 289, "parameters": [ "&self" ], @@ -10796,8 +23948,8 @@ }, { "name": "equals", - "start_line": 286, - "end_line": 292, + "start_line": 291, + "end_line": 297, "parameters": [ "&self", "other: &dyn NyashBox" @@ -10817,8 +23969,8 @@ }, { "name": "fmt", - "start_line": 296, - "end_line": 298, + "start_line": 301, + "end_line": 303, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -10885,7 +24037,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 34, + "function_count": 35, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -11594,7 +24746,7 @@ "name": "CanvasEventBox", "full_name": "", "start_line": 273, - "end_line": 293, + "end_line": 298, "start_column": 0, "end_column": 0, "depth": 1, @@ -11617,12 +24769,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 279, + "end_line": 281, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 278, - "end_line": 280, + "start_line": 283, + "end_line": 285, "start_column": 0, "end_column": 0, "depth": 3, @@ -11635,8 +24801,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 282, - "end_line": 284, + "start_line": 287, + "end_line": 289, "start_column": 0, "end_column": 0, "depth": 3, @@ -11649,8 +24815,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 286, - "end_line": 292, + "start_line": 291, + "end_line": 297, "start_column": 0, "end_column": 0, "depth": 3, @@ -11663,8 +24829,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 287, - "end_line": 291, + "start_line": 292, + "end_line": 296, "start_column": 0, "end_column": 0, "depth": 6, @@ -11677,8 +24843,8 @@ "type": "class", "name": "CanvasEventBox", "full_name": "", - "start_line": 295, - "end_line": 299, + "start_line": 300, + "end_line": 304, "start_column": 0, "end_column": 0, "depth": 1, @@ -11691,8 +24857,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 296, - "end_line": 298, + "start_line": 301, + "end_line": 303, "start_column": 0, "end_column": 0, "depth": 3, @@ -11706,35 +24872,35 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 58, + "total_nodes": 59, "max_depth": 8, "node_type_counts": { - "file_root": 1, + "function": 29, "variable": 12, + "if_statement": 8, "import": 4, - "class": 5, - "function": 28, - "if_statement": 8 + "file_root": 1, + "class": 5 }, "classes": 5, - "functions": 28, + "functions": 29, "methods": 0, "variables": 12, "control_structures": 8 }, - "generated_at": "2025-08-13T11:36:21.749962466Z" + "generated_at": "2025-08-15T16:17:53.906181347Z" }, { "file_info": { "name": "canvas_loop_box.rs", "path": "src/boxes/canvas_loop_box.rs", "size_bytes": 0, - "total_lines": 309, - "code_lines": 198, - "comment_lines": 67, - "empty_lines": 44, - "code_ratio": 0.6407766990291263, - "analyzed_at": "2025-08-13T11:36:21.739091788Z", + "total_lines": 314, + "code_lines": 201, + "comment_lines": 68, + "empty_lines": 45, + "code_ratio": 0.6401273885350318, + "analyzed_at": "2025-08-15T16:17:53.906176895Z", "metadata": {} }, "language": "rust", @@ -11781,7 +24947,7 @@ "name": "CanvasLoopBox", "parent_class": null, "start_line": 283, - "end_line": 303, + "end_line": 308, "methods": [], "properties": [], "member_variables": [], @@ -11793,8 +24959,8 @@ { "name": "CanvasLoopBox", "parent_class": null, - "start_line": 305, - "end_line": 309, + "start_line": 310, + "end_line": 314, "methods": [], "properties": [], "member_variables": [], @@ -11820,8 +24986,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -11883,8 +25049,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -11904,8 +25070,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -11925,8 +25091,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -11947,8 +25113,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -12009,8 +25175,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -12051,8 +25217,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -12093,8 +25259,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -12115,8 +25281,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -12136,8 +25302,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -12303,10 +25469,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 289, + "end_line": 291, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "to_string_box", - "start_line": 288, - "end_line": 290, + "start_line": 293, + "end_line": 295, "parameters": [ "&self" ], @@ -12325,8 +25511,8 @@ }, { "name": "type_name", - "start_line": 292, - "end_line": 294, + "start_line": 297, + "end_line": 299, "parameters": [ "&self" ], @@ -12345,8 +25531,8 @@ }, { "name": "equals", - "start_line": 296, - "end_line": 302, + "start_line": 301, + "end_line": 307, "parameters": [ "&self", "other: &dyn NyashBox" @@ -12366,8 +25552,8 @@ }, { "name": "fmt", - "start_line": 306, - "end_line": 308, + "start_line": 311, + "end_line": 313, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -12434,7 +25620,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 28, + "function_count": 29, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -13115,7 +26301,7 @@ "name": "CanvasLoopBox", "full_name": "", "start_line": 283, - "end_line": 303, + "end_line": 308, "start_column": 0, "end_column": 0, "depth": 1, @@ -13138,12 +26324,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 289, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 288, - "end_line": 290, + "start_line": 293, + "end_line": 295, "start_column": 0, "end_column": 0, "depth": 3, @@ -13156,8 +26356,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 292, - "end_line": 294, + "start_line": 297, + "end_line": 299, "start_column": 0, "end_column": 0, "depth": 3, @@ -13170,8 +26370,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 296, - "end_line": 302, + "start_line": 301, + "end_line": 307, "start_column": 0, "end_column": 0, "depth": 3, @@ -13184,8 +26384,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 297, - "end_line": 301, + "start_line": 302, + "end_line": 306, "start_column": 0, "end_column": 0, "depth": 6, @@ -13198,8 +26398,8 @@ "type": "class", "name": "CanvasLoopBox", "full_name": "", - "start_line": 305, - "end_line": 309, + "start_line": 310, + "end_line": 314, "start_column": 0, "end_column": 0, "depth": 1, @@ -13212,8 +26412,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 306, - "end_line": 308, + "start_line": 311, + "end_line": 313, "start_column": 0, "end_column": 0, "depth": 3, @@ -13227,35 +26427,35 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 56, + "total_nodes": 57, "max_depth": 8, "node_type_counts": { - "if_statement": 11, - "import": 4, - "file_root": 1, "class": 5, - "function": 26, - "variable": 9 + "import": 4, + "variable": 9, + "file_root": 1, + "function": 27, + "if_statement": 11 }, "classes": 5, - "functions": 26, + "functions": 27, "methods": 0, "variables": 9, "control_structures": 11 }, - "generated_at": "2025-08-13T11:36:21.739112639Z" + "generated_at": "2025-08-15T16:17:53.906212932Z" }, { "file_info": { "name": "console_box.rs", "path": "src/boxes/console_box.rs", "size_bytes": 0, - "total_lines": 217, - "code_lines": 127, - "comment_lines": 54, - "empty_lines": 36, - "code_ratio": 0.5852534562211982, - "analyzed_at": "2025-08-13T11:36:21.739177145Z", + "total_lines": 227, + "code_lines": 133, + "comment_lines": 56, + "empty_lines": 38, + "code_ratio": 0.5859030837004405, + "analyzed_at": "2025-08-15T16:17:53.906194231Z", "metadata": {} }, "language": "rust", @@ -13269,8 +26469,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { @@ -13294,15 +26494,15 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "BoxCore", - "type": "impl" + "type": "impl", + "implementing_trait": "BoxCore" } }, { "name": "ConsoleBox", "parent_class": null, "start_line": 110, - "end_line": 127, + "end_line": 132, "methods": [], "properties": [], "member_variables": [], @@ -13314,8 +26514,8 @@ { "name": "ConsoleBox", "parent_class": null, - "start_line": 132, - "end_line": 134, + "start_line": 137, + "end_line": 139, "methods": [], "properties": [], "member_variables": [], @@ -13327,8 +26527,8 @@ { "name": "ConsoleBox", "parent_class": null, - "start_line": 137, - "end_line": 158, + "start_line": 142, + "end_line": 163, "methods": [], "properties": [], "member_variables": [], @@ -13339,8 +26539,8 @@ { "name": "ConsoleBox", "parent_class": null, - "start_line": 161, - "end_line": 181, + "start_line": 166, + "end_line": 186, "methods": [], "properties": [], "member_variables": [], @@ -13352,8 +26552,8 @@ { "name": "ConsoleBox", "parent_class": null, - "start_line": 184, - "end_line": 201, + "start_line": 189, + "end_line": 211, "methods": [], "properties": [], "member_variables": [], @@ -13365,8 +26565,8 @@ { "name": "ConsoleBox", "parent_class": null, - "start_line": 206, - "end_line": 210, + "start_line": 216, + "end_line": 220, "methods": [], "properties": [], "member_variables": [], @@ -13378,14 +26578,14 @@ { "name": "ConsoleBox", "parent_class": null, - "start_line": 213, - "end_line": 217, + "start_line": 223, + "end_line": 227, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Display", - "type": "impl" + "type": "impl", + "implementing_trait": "Display" } } ], @@ -13471,8 +26671,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -13492,8 +26692,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -13678,10 +26878,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 128, + "end_line": 130, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "new", - "start_line": 138, - "end_line": 140, + "start_line": 143, + "end_line": 145, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -13699,8 +26919,8 @@ }, { "name": "log", - "start_line": 143, - "end_line": 145, + "start_line": 148, + "end_line": 150, "parameters": [ "&self", "message: &str" @@ -13715,14 +26935,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "warn", - "start_line": 147, - "end_line": 149, + "start_line": 152, + "end_line": 154, "parameters": [ "&self", "message: &str" @@ -13743,8 +26963,8 @@ }, { "name": "error", - "start_line": 151, - "end_line": 153, + "start_line": 156, + "end_line": 158, "parameters": [ "&self", "message: &str" @@ -13765,8 +26985,8 @@ }, { "name": "clear", - "start_line": 155, - "end_line": 157, + "start_line": 160, + "end_line": 162, "parameters": [ "&self" ], @@ -13786,8 +27006,8 @@ }, { "name": "box_id", - "start_line": 162, - "end_line": 164, + "start_line": 167, + "end_line": 169, "parameters": [ "&self" ], @@ -13806,8 +27026,8 @@ }, { "name": "parent_type_id", - "start_line": 166, - "end_line": 168, + "start_line": 171, + "end_line": 173, "parameters": [ "&self" ], @@ -13826,8 +27046,8 @@ }, { "name": "fmt_box", - "start_line": 170, - "end_line": 172, + "start_line": 175, + "end_line": 177, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -13847,8 +27067,8 @@ }, { "name": "as_any", - "start_line": 174, - "end_line": 176, + "start_line": 179, + "end_line": 181, "parameters": [ "&self" ], @@ -13867,8 +27087,8 @@ }, { "name": "as_any_mut", - "start_line": 178, - "end_line": 180, + "start_line": 183, + "end_line": 185, "parameters": [ "&mut self" ], @@ -13887,8 +27107,8 @@ }, { "name": "to_string_box", - "start_line": 185, - "end_line": 187, + "start_line": 190, + "end_line": 192, "parameters": [ "&self" ], @@ -13907,8 +27127,8 @@ }, { "name": "equals", - "start_line": 189, - "end_line": 191, + "start_line": 194, + "end_line": 196, "parameters": [ "&self", "other: &dyn NyashBox" @@ -13928,8 +27148,8 @@ }, { "name": "type_name", - "start_line": 193, - "end_line": 195, + "start_line": 198, + "end_line": 200, "parameters": [ "&self" ], @@ -13948,8 +27168,28 @@ }, { "name": "clone_box", - "start_line": 197, - "end_line": 199, + "start_line": 202, + "end_line": 204, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 207, + "end_line": 209, "parameters": [ "&self" ], @@ -13968,8 +27208,8 @@ }, { "name": "fmt", - "start_line": 207, - "end_line": 209, + "start_line": 217, + "end_line": 219, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -13989,8 +27229,8 @@ }, { "name": "fmt", - "start_line": 214, - "end_line": 216, + "start_line": 224, + "end_line": 226, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -14049,7 +27289,7 @@ "metadata": {}, "stats": { "class_count": 10, - "function_count": 30, + "function_count": 32, "import_count": 3, "export_count": 0, "unique_calls": 0, @@ -14296,7 +27536,7 @@ "name": "ConsoleBox", "full_name": "", "start_line": 110, - "end_line": 127, + "end_line": 132, "start_column": 0, "end_column": 0, "depth": 1, @@ -14361,12 +27601,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 128, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "ConsoleBox", "full_name": "", - "start_line": 132, - "end_line": 134, + "start_line": 137, + "end_line": 139, "start_column": 0, "end_column": 0, "depth": 1, @@ -14379,8 +27633,8 @@ "type": "class", "name": "ConsoleBox", "full_name": "", - "start_line": 137, - "end_line": 158, + "start_line": 142, + "end_line": 163, "start_column": 0, "end_column": 0, "depth": 1, @@ -14393,20 +27647,6 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 138, - "end_line": 140, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "log", - "full_name": "", "start_line": 143, "end_line": 145, "start_column": 0, @@ -14417,12 +27657,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "log", + "full_name": "", + "start_line": 148, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "warn", "full_name": "", - "start_line": 147, - "end_line": 149, + "start_line": 152, + "end_line": 154, "start_column": 0, "end_column": 0, "depth": 3, @@ -14435,8 +27689,8 @@ "type": "function", "name": "error", "full_name": "", - "start_line": 151, - "end_line": 153, + "start_line": 156, + "end_line": 158, "start_column": 0, "end_column": 0, "depth": 3, @@ -14449,8 +27703,8 @@ "type": "function", "name": "clear", "full_name": "", - "start_line": 155, - "end_line": 157, + "start_line": 160, + "end_line": 162, "start_column": 0, "end_column": 0, "depth": 3, @@ -14463,8 +27717,8 @@ "type": "class", "name": "ConsoleBox", "full_name": "", - "start_line": 161, - "end_line": 181, + "start_line": 166, + "end_line": 186, "start_column": 0, "end_column": 0, "depth": 1, @@ -14477,8 +27731,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 162, - "end_line": 164, + "start_line": 167, + "end_line": 169, "start_column": 0, "end_column": 0, "depth": 3, @@ -14491,8 +27745,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 166, - "end_line": 168, + "start_line": 171, + "end_line": 173, "start_column": 0, "end_column": 0, "depth": 3, @@ -14505,8 +27759,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 170, - "end_line": 172, + "start_line": 175, + "end_line": 177, "start_column": 0, "end_column": 0, "depth": 3, @@ -14519,8 +27773,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 174, - "end_line": 176, + "start_line": 179, + "end_line": 181, "start_column": 0, "end_column": 0, "depth": 3, @@ -14533,8 +27787,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 178, - "end_line": 180, + "start_line": 183, + "end_line": 185, "start_column": 0, "end_column": 0, "depth": 3, @@ -14547,8 +27801,8 @@ "type": "class", "name": "ConsoleBox", "full_name": "", - "start_line": 184, - "end_line": 201, + "start_line": 189, + "end_line": 211, "start_column": 0, "end_column": 0, "depth": 1, @@ -14561,8 +27815,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 185, - "end_line": 187, + "start_line": 190, + "end_line": 192, "start_column": 0, "end_column": 0, "depth": 3, @@ -14575,8 +27829,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 189, - "end_line": 191, + "start_line": 194, + "end_line": 196, "start_column": 0, "end_column": 0, "depth": 3, @@ -14589,8 +27843,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 193, - "end_line": 195, + "start_line": 198, + "end_line": 200, "start_column": 0, "end_column": 0, "depth": 3, @@ -14603,8 +27857,8 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 197, - "end_line": 199, + "start_line": 202, + "end_line": 204, "start_column": 0, "end_column": 0, "depth": 3, @@ -14613,23 +27867,9 @@ "attributes": {}, "source_text": null }, - { - "type": "class", - "name": "ConsoleBox", - "full_name": "", - "start_line": 206, - "end_line": 210, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", - "name": "fmt", + "name": "share_box", "full_name": "", "start_line": 207, "end_line": 209, @@ -14645,8 +27885,8 @@ "type": "class", "name": "ConsoleBox", "full_name": "", - "start_line": 213, - "end_line": 217, + "start_line": 216, + "end_line": 220, "start_column": 0, "end_column": 0, "depth": 1, @@ -14659,8 +27899,36 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 214, - "end_line": 216, + "start_line": 217, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 223, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 224, + "end_line": 226, "start_column": 0, "end_column": 0, "depth": 3, @@ -14674,33 +27942,33 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 44, + "total_nodes": 46, "max_depth": 3, "node_type_counts": { "class": 10, "file_root": 1, - "function": 30, - "import": 3 + "import": 3, + "function": 32 }, "classes": 10, - "functions": 30, + "functions": 32, "methods": 0, "variables": 0, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.739188962Z" + "generated_at": "2025-08-15T16:17:53.906206006Z" }, { "file_info": { "name": "debug_box.rs", "path": "src/boxes/debug_box.rs", "size_bytes": 0, - "total_lines": 366, - "code_lines": 206, - "comment_lines": 111, - "empty_lines": 49, - "code_ratio": 0.5628415300546448, - "analyzed_at": "2025-08-13T11:36:21.739127325Z", + "total_lines": 389, + "code_lines": 224, + "comment_lines": 113, + "empty_lines": 52, + "code_ratio": 0.5758354755784062, + "analyzed_at": "2025-08-15T16:17:53.906089714Z", "metadata": {} }, "language": "rust", @@ -14758,20 +28026,33 @@ "name": "DebugBox", "parent_class": null, "start_line": 312, - "end_line": 333, + "end_line": 327, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "BoxCore", + "implementing_trait": "Clone", "type": "impl" } }, { "name": "DebugBox", "parent_class": null, - "start_line": 336, - "end_line": 340, + "start_line": 330, + "end_line": 351, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "DebugBox", + "parent_class": null, + "start_line": 354, + "end_line": 358, "methods": [], "properties": [], "member_variables": [], @@ -14783,8 +28064,8 @@ { "name": "DebugBox", "parent_class": null, - "start_line": 343, - "end_line": 366, + "start_line": 361, + "end_line": 389, "methods": [], "properties": [], "member_variables": [], @@ -14810,8 +28091,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -14875,8 +28156,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -14939,8 +28220,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -14980,8 +28261,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -15023,8 +28304,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -15046,8 +28327,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -15109,8 +28390,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -15135,9 +28416,29 @@ } }, { - "name": "box_id", + "name": "clone", "start_line": 313, - "end_line": 315, + "end_line": 326, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 331, + "end_line": 333, "parameters": [ "&self" ], @@ -15156,8 +28457,8 @@ }, { "name": "parent_type_id", - "start_line": 317, - "end_line": 319, + "start_line": 335, + "end_line": 337, "parameters": [ "&self" ], @@ -15176,8 +28477,8 @@ }, { "name": "fmt_box", - "start_line": 321, - "end_line": 324, + "start_line": 339, + "end_line": 342, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -15197,8 +28498,8 @@ }, { "name": "as_any", - "start_line": 326, - "end_line": 328, + "start_line": 344, + "end_line": 346, "parameters": [ "&self" ], @@ -15217,8 +28518,8 @@ }, { "name": "as_any_mut", - "start_line": 330, - "end_line": 332, + "start_line": 348, + "end_line": 350, "parameters": [ "&mut self" ], @@ -15237,8 +28538,8 @@ }, { "name": "fmt", - "start_line": 337, - "end_line": 339, + "start_line": 355, + "end_line": 357, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -15258,8 +28559,8 @@ }, { "name": "to_string_box", - "start_line": 344, - "end_line": 347, + "start_line": 362, + "end_line": 365, "parameters": [ "&self" ], @@ -15278,8 +28579,8 @@ }, { "name": "equals", - "start_line": 349, - "end_line": 355, + "start_line": 367, + "end_line": 373, "parameters": [ "&self", "other: &dyn NyashBox" @@ -15299,8 +28600,8 @@ }, { "name": "type_name", - "start_line": 357, - "end_line": 359, + "start_line": 375, + "end_line": 377, "parameters": [ "&self" ], @@ -15319,8 +28620,28 @@ }, { "name": "clone_box", - "start_line": 361, - "end_line": 363, + "start_line": 379, + "end_line": 381, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 384, + "end_line": 386, "parameters": [ "&self" ], @@ -15349,7 +28670,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::RwLock", "imported_names": [], "alias": null, "line_number": 103, @@ -15365,7 +28686,7 @@ }, { "type": "rust_use", - "module_path": "crate::box_trait::{BoxCore, BoxBase, next_box_id, NyashBox, StringBox, BoolBox, VoidBox}", + "module_path": "crate::box_trait::{BoxCore, BoxBase, NyashBox, StringBox, BoolBox, VoidBox}", "imported_names": [], "alias": null, "line_number": 105, @@ -15409,8 +28730,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 7, - "function_count": 26, + "class_count": 8, + "function_count": 28, "import_count": 7, "export_count": 0, "unique_calls": 0, @@ -16231,7 +29552,91 @@ "name": "DebugBox", "full_name": "", "start_line": 312, - "end_line": 333, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 313, + "end_line": 326, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 314, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 315, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DebugBox", + "full_name": "", + "start_line": 330, + "end_line": 351, "start_column": 0, "end_column": 0, "depth": 1, @@ -16244,8 +29649,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 313, - "end_line": 315, + "start_line": 331, + "end_line": 333, "start_column": 0, "end_column": 0, "depth": 3, @@ -16258,8 +29663,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 317, - "end_line": 319, + "start_line": 335, + "end_line": 337, "start_column": 0, "end_column": 0, "depth": 3, @@ -16272,8 +29677,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 321, - "end_line": 324, + "start_line": 339, + "end_line": 342, "start_column": 0, "end_column": 0, "depth": 3, @@ -16286,8 +29691,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 322, - "end_line": 322, + "start_line": 340, + "end_line": 340, "start_column": 0, "end_column": 0, "depth": 5, @@ -16300,8 +29705,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 326, - "end_line": 328, + "start_line": 344, + "end_line": 346, "start_column": 0, "end_column": 0, "depth": 3, @@ -16314,8 +29719,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 330, - "end_line": 332, + "start_line": 348, + "end_line": 350, "start_column": 0, "end_column": 0, "depth": 3, @@ -16328,8 +29733,8 @@ "type": "class", "name": "DebugBox", "full_name": "", - "start_line": 336, - "end_line": 340, + "start_line": 354, + "end_line": 358, "start_column": 0, "end_column": 0, "depth": 1, @@ -16342,8 +29747,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 337, - "end_line": 339, + "start_line": 355, + "end_line": 357, "start_column": 0, "end_column": 0, "depth": 3, @@ -16356,8 +29761,8 @@ "type": "class", "name": "DebugBox", "full_name": "", - "start_line": 343, - "end_line": 366, + "start_line": 361, + "end_line": 389, "start_column": 0, "end_column": 0, "depth": 1, @@ -16370,8 +29775,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 344, - "end_line": 347, + "start_line": 362, + "end_line": 365, "start_column": 0, "end_column": 0, "depth": 3, @@ -16384,8 +29789,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 345, - "end_line": 345, + "start_line": 363, + "end_line": 363, "start_column": 0, "end_column": 0, "depth": 5, @@ -16398,8 +29803,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 349, - "end_line": 355, + "start_line": 367, + "end_line": 373, "start_column": 0, "end_column": 0, "depth": 3, @@ -16412,8 +29817,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 350, - "end_line": 354, + "start_line": 368, + "end_line": 372, "start_column": 0, "end_column": 0, "depth": 6, @@ -16426,8 +29831,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 357, - "end_line": 359, + "start_line": 375, + "end_line": 377, "start_column": 0, "end_column": 0, "depth": 3, @@ -16440,8 +29845,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 361, - "end_line": 363, + "start_line": 379, + "end_line": 381, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 384, + "end_line": 386, "start_column": 0, "end_column": 0, "depth": 3, @@ -16455,36 +29874,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 74, + "total_nodes": 81, "max_depth": 8, "node_type_counts": { "import": 7, - "variable": 26, + "function": 27, + "class": 8, + "variable": 30, "if_statement": 4, "for_loop": 4, - "file_root": 1, - "class": 7, - "function": 25 + "file_root": 1 }, - "classes": 7, - "functions": 25, + "classes": 8, + "functions": 27, "methods": 0, - "variables": 26, + "variables": 30, "control_structures": 8 }, - "generated_at": "2025-08-13T11:36:21.739150599Z" + "generated_at": "2025-08-15T16:17:53.906115857Z" }, { "file_info": { "name": "egui_box.rs", "path": "src/boxes/egui_box.rs", "size_bytes": 0, - "total_lines": 220, - "code_lines": 144, - "comment_lines": 47, - "empty_lines": 29, - "code_ratio": 0.6545454545454545, - "analyzed_at": "2025-08-13T11:36:21.738931978Z", + "total_lines": 238, + "code_lines": 153, + "comment_lines": 53, + "empty_lines": 32, + "code_ratio": 0.6428571428571429, + "analyzed_at": "2025-08-15T16:17:53.913283919Z", "metadata": {} }, "language": "rust", @@ -16498,8 +29917,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -16519,7 +29938,20 @@ "name": "EguiBox", "parent_class": null, "start_line": 68, - "end_line": 91, + "end_line": 80, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "EguiBox", + "parent_class": null, + "start_line": 82, + "end_line": 105, "methods": [], "properties": [], "member_variables": [], @@ -16530,8 +29962,8 @@ { "name": "NyashApp", "parent_class": null, - "start_line": 94, - "end_line": 97, + "start_line": 108, + "end_line": 111, "methods": [], "properties": [], "member_variables": [], @@ -16542,8 +29974,8 @@ { "name": "NyashApp", "parent_class": null, - "start_line": 99, - "end_line": 105, + "start_line": 113, + "end_line": 119, "methods": [], "properties": [], "member_variables": [], @@ -16555,8 +29987,8 @@ { "name": "EguiBox", "parent_class": null, - "start_line": 107, - "end_line": 127, + "start_line": 121, + "end_line": 141, "methods": [], "properties": [], "member_variables": [], @@ -16568,8 +30000,8 @@ { "name": "EguiBox", "parent_class": null, - "start_line": 129, - "end_line": 133, + "start_line": 143, + "end_line": 147, "methods": [], "properties": [], "member_variables": [], @@ -16581,21 +30013,21 @@ { "name": "EguiBox", "parent_class": null, - "start_line": 135, - "end_line": 166, + "start_line": 149, + "end_line": 178, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "NyashBox", - "type": "impl" + "type": "impl", + "implementing_trait": "NyashBox" } }, { "name": "EguiBox", "parent_class": null, - "start_line": 169, - "end_line": 201, + "start_line": 181, + "end_line": 219, "methods": [], "properties": [], "member_variables": [], @@ -16627,9 +30059,29 @@ } }, { - "name": "new", + "name": "clone", "start_line": 69, - "end_line": 77, + "end_line": 79, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 83, + "end_line": 91, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -16647,8 +30099,8 @@ }, { "name": "set_app_state", - "start_line": 80, - "end_line": 82, + "start_line": 94, + "end_line": 96, "parameters": [ "&mut self", "state: T" @@ -16663,14 +30115,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "set_update_fn", - "start_line": 85, - "end_line": 90, + "start_line": 99, + "end_line": 104, "parameters": [ "&mut self", "f: F" @@ -16691,8 +30143,8 @@ }, { "name": "update", - "start_line": 100, - "end_line": 104, + "start_line": 114, + "end_line": 118, "parameters": [ "&mut self", "ctx: &egui::Context", @@ -16713,8 +30165,8 @@ }, { "name": "box_id", - "start_line": 108, - "end_line": 110, + "start_line": 122, + "end_line": 124, "parameters": [ "&self" ], @@ -16733,8 +30185,8 @@ }, { "name": "parent_type_id", - "start_line": 112, - "end_line": 114, + "start_line": 126, + "end_line": 128, "parameters": [ "&self" ], @@ -16753,8 +30205,8 @@ }, { "name": "fmt_box", - "start_line": 116, - "end_line": 118, + "start_line": 130, + "end_line": 132, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -16774,8 +30226,8 @@ }, { "name": "as_any", - "start_line": 120, - "end_line": 122, + "start_line": 134, + "end_line": 136, "parameters": [ "&self" ], @@ -16794,8 +30246,8 @@ }, { "name": "as_any_mut", - "start_line": 124, - "end_line": 126, + "start_line": 138, + "end_line": 140, "parameters": [ "&mut self" ], @@ -16814,8 +30266,8 @@ }, { "name": "fmt", - "start_line": 130, - "end_line": 132, + "start_line": 144, + "end_line": 146, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -16835,8 +30287,8 @@ }, { "name": "to_string_box", - "start_line": 136, - "end_line": 140, + "start_line": 150, + "end_line": 154, "parameters": [ "&self" ], @@ -16855,8 +30307,28 @@ }, { "name": "clone_box", - "start_line": 142, - "end_line": 151, + "start_line": 156, + "end_line": 158, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 161, + "end_line": 163, "parameters": [ "&self" ], @@ -16875,8 +30347,8 @@ }, { "name": "equals", - "start_line": 154, - "end_line": 160, + "start_line": 166, + "end_line": 172, "parameters": [ "&self", "other: &dyn NyashBox" @@ -16896,8 +30368,8 @@ }, { "name": "type_name", - "start_line": 162, - "end_line": 164, + "start_line": 174, + "end_line": 176, "parameters": [ "&self" ], @@ -16916,8 +30388,8 @@ }, { "name": "run_gui", - "start_line": 170, - "end_line": 200, + "start_line": 182, + "end_line": 218, "parameters": [ "&self" ], @@ -16931,14 +30403,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "closure", - "start_line": 191, - "end_line": 191, + "start_line": 209, + "end_line": 209, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -16955,8 +30427,8 @@ }, { "name": "test_egui_box_creation", - "start_line": 208, - "end_line": 212, + "start_line": 226, + "end_line": 230, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -16973,8 +30445,8 @@ }, { "name": "test_egui_box_to_string", - "start_line": 215, - "end_line": 219, + "start_line": 233, + "end_line": 237, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -17017,7 +30489,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::RwLock", "imported_names": [], "alias": null, "line_number": 39, @@ -17036,7 +30508,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 205, + "line_number": 223, "metadata": {} } ], @@ -17053,8 +30525,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 9, - "function_count": 19, + "class_count": 10, + "function_count": 21, "import_count": 6, "export_count": 0, "unique_calls": 0, @@ -17189,7 +30661,35 @@ "name": "EguiBox", "full_name": "", "start_line": 68, - "end_line": 91, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 69, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EguiBox", + "full_name": "", + "start_line": 82, + "end_line": 105, "start_column": 0, "end_column": 0, "depth": 1, @@ -17202,8 +30702,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 69, - "end_line": 77, + "start_line": 83, + "end_line": 91, "start_column": 0, "end_column": 0, "depth": 3, @@ -17216,8 +30716,8 @@ "type": "function", "name": "set_app_state", "full_name": "", - "start_line": 80, - "end_line": 82, + "start_line": 94, + "end_line": 96, "start_column": 0, "end_column": 0, "depth": 3, @@ -17230,8 +30730,8 @@ "type": "function", "name": "set_update_fn", "full_name": "", - "start_line": 85, - "end_line": 90, + "start_line": 99, + "end_line": 104, "start_column": 0, "end_column": 0, "depth": 3, @@ -17244,8 +30744,8 @@ "type": "class", "name": "NyashApp", "full_name": "", - "start_line": 94, - "end_line": 97, + "start_line": 108, + "end_line": 111, "start_column": 0, "end_column": 0, "depth": 1, @@ -17258,8 +30758,8 @@ "type": "class", "name": "NyashApp", "full_name": "", - "start_line": 99, - "end_line": 105, + "start_line": 113, + "end_line": 119, "start_column": 0, "end_column": 0, "depth": 1, @@ -17272,8 +30772,8 @@ "type": "function", "name": "update", "full_name": "", - "start_line": 100, - "end_line": 104, + "start_line": 114, + "end_line": 118, "start_column": 0, "end_column": 0, "depth": 3, @@ -17286,8 +30786,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 101, - "end_line": 103, + "start_line": 115, + "end_line": 117, "start_column": 0, "end_column": 0, "depth": 6, @@ -17300,8 +30800,8 @@ "type": "class", "name": "EguiBox", "full_name": "", - "start_line": 107, - "end_line": 127, + "start_line": 121, + "end_line": 141, "start_column": 0, "end_column": 0, "depth": 1, @@ -17314,8 +30814,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 108, - "end_line": 110, + "start_line": 122, + "end_line": 124, "start_column": 0, "end_column": 0, "depth": 3, @@ -17328,8 +30828,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 112, - "end_line": 114, + "start_line": 126, + "end_line": 128, "start_column": 0, "end_column": 0, "depth": 3, @@ -17342,8 +30842,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 116, - "end_line": 118, + "start_line": 130, + "end_line": 132, "start_column": 0, "end_column": 0, "depth": 3, @@ -17356,8 +30856,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 120, - "end_line": 122, + "start_line": 134, + "end_line": 136, "start_column": 0, "end_column": 0, "depth": 3, @@ -17370,8 +30870,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 124, - "end_line": 126, + "start_line": 138, + "end_line": 140, "start_column": 0, "end_column": 0, "depth": 3, @@ -17384,8 +30884,8 @@ "type": "class", "name": "EguiBox", "full_name": "", - "start_line": 129, - "end_line": 133, + "start_line": 143, + "end_line": 147, "start_column": 0, "end_column": 0, "depth": 1, @@ -17398,8 +30898,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 130, - "end_line": 132, + "start_line": 144, + "end_line": 146, "start_column": 0, "end_column": 0, "depth": 3, @@ -17412,8 +30912,8 @@ "type": "class", "name": "EguiBox", "full_name": "", - "start_line": 135, - "end_line": 166, + "start_line": 149, + "end_line": 178, "start_column": 0, "end_column": 0, "depth": 1, @@ -17426,8 +30926,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 136, - "end_line": 140, + "start_line": 150, + "end_line": 154, "start_column": 0, "end_column": 0, "depth": 3, @@ -17440,8 +30940,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 142, - "end_line": 151, + "start_line": 156, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 161, + "end_line": 163, "start_column": 0, "end_column": 0, "depth": 3, @@ -17454,8 +30968,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 154, - "end_line": 160, + "start_line": 166, + "end_line": 172, "start_column": 0, "end_column": 0, "depth": 3, @@ -17468,8 +30982,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 155, - "end_line": 159, + "start_line": 167, + "end_line": 171, "start_column": 0, "end_column": 0, "depth": 6, @@ -17482,8 +30996,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 162, - "end_line": 164, + "start_line": 174, + "end_line": 176, "start_column": 0, "end_column": 0, "depth": 3, @@ -17496,8 +31010,8 @@ "type": "class", "name": "EguiBox", "full_name": "", - "start_line": 169, - "end_line": 201, + "start_line": 181, + "end_line": 219, "start_column": 0, "end_column": 0, "depth": 1, @@ -17510,8 +31024,8 @@ "type": "function", "name": "run_gui", "full_name": "", - "start_line": 170, - "end_line": 200, + "start_line": 182, + "end_line": 218, "start_column": 0, "end_column": 0, "depth": 3, @@ -17524,8 +31038,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 171, - "end_line": 199, + "start_line": 183, + "end_line": 217, "start_column": 0, "end_column": 0, "depth": 6, @@ -17538,49 +31052,7 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 172, - "end_line": 172, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 173, - "end_line": 173, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 175, - "end_line": 180, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 182, + "start_line": 185, "end_line": 185, "start_column": 0, "end_column": 0, @@ -17595,7 +31067,63 @@ "name": "", "full_name": "", "start_line": 188, - "end_line": 192, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 191, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 210, "start_column": 0, "end_column": 0, "depth": 8, @@ -17608,8 +31136,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 205, - "end_line": 205, + "start_line": 223, + "end_line": 223, "start_column": 0, "end_column": 0, "depth": 3, @@ -17622,8 +31150,8 @@ "type": "function", "name": "test_egui_box_creation", "full_name": "", - "start_line": 208, - "end_line": 212, + "start_line": 226, + "end_line": 230, "start_column": 0, "end_column": 0, "depth": 3, @@ -17636,8 +31164,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 209, - "end_line": 209, + "start_line": 227, + "end_line": 227, "start_column": 0, "end_column": 0, "depth": 5, @@ -17650,8 +31178,8 @@ "type": "function", "name": "test_egui_box_to_string", "full_name": "", - "start_line": 215, - "end_line": 219, + "start_line": 233, + "end_line": 237, "start_column": 0, "end_column": 0, "depth": 3, @@ -17664,8 +31192,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 216, - "end_line": 216, + "start_line": 234, + "end_line": 234, "start_column": 0, "end_column": 0, "depth": 5, @@ -17678,8 +31206,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 217, - "end_line": 217, + "start_line": 235, + "end_line": 235, "start_column": 0, "end_column": 0, "depth": 5, @@ -17693,35 +31221,914 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 45, + "total_nodes": 49, "max_depth": 8, "node_type_counts": { - "variable": 8, - "if_statement": 3, + "class": 10, + "variable": 9, "file_root": 1, - "function": 18, - "import": 6, - "class": 9 + "function": 20, + "if_statement": 3, + "import": 6 }, - "classes": 9, - "functions": 18, + "classes": 10, + "functions": 20, "methods": 0, - "variables": 8, + "variables": 9, "control_structures": 3 }, - "generated_at": "2025-08-13T11:36:21.738947834Z" + "generated_at": "2025-08-15T16:17:53.913297017Z" + }, + { + "file_info": { + "name": "extern_box.rs", + "path": "src/boxes/extern_box.rs", + "size_bytes": 0, + "total_lines": 148, + "code_lines": 123, + "comment_lines": 5, + "empty_lines": 20, + "code_ratio": 0.831081081081081, + "analyzed_at": "2025-08-15T16:17:53.906299361Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ExternBox", + "parent_class": null, + "start_line": 9, + "end_line": 12, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ExternBox", + "parent_class": null, + "start_line": 14, + "end_line": 28, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ExternBox", + "parent_class": null, + "start_line": 30, + "end_line": 50, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "ExternBox", + "parent_class": null, + "start_line": 52, + "end_line": 148, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + } + ], + "functions": [ + { + "name": "new_console", + "start_line": 15, + "end_line": 20, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new_canvas", + "start_line": 22, + "end_line": 27, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 31, + "end_line": 33, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 35, + "end_line": 37, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 39, + "end_line": 41, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 43, + "end_line": 45, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 47, + "end_line": 49, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 53, + "end_line": 55, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 57, + "end_line": 63, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 65, + "end_line": 67, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 69, + "end_line": 74, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 76, + "end_line": 79, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "call_method", + "start_line": 81, + "end_line": 127, + "parameters": [ + "&mut self", + "method: &str", + "args" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "get_field", + "start_line": 129, + "end_line": 131, + "parameters": [ + "&self", + "_field: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "set_field", + "start_line": 133, + "end_line": 135, + "parameters": [ + "&mut self", + "_field: &str", + "_value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "list_methods", + "start_line": 137, + "end_line": 143, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "list_fields", + "start_line": 145, + "end_line": 147, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, VoidBox, IntegerBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 5, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 6, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 17, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 5, + "end_line": 5, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 6, + "end_line": 6, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExternBox", + "full_name": "", + "start_line": 9, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExternBox", + "full_name": "", + "start_line": 14, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_console", + "full_name": "", + "start_line": 15, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_canvas", + "full_name": "", + "start_line": 22, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExternBox", + "full_name": "", + "start_line": 30, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 31, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 35, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 39, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 43, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 47, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExternBox", + "full_name": "", + "start_line": 52, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 53, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 57, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 65, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 69, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 76, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "call_method", + "full_name": "", + "start_line": 81, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field", + "full_name": "", + "start_line": 129, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_field", + "full_name": "", + "start_line": 133, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "list_methods", + "full_name": "", + "start_line": 137, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "list_fields", + "full_name": "", + "start_line": 145, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 29, + "max_depth": 14, + "node_type_counts": { + "class": 4, + "file_root": 1, + "function": 17, + "for_loop": 1, + "if_statement": 4, + "import": 2 + }, + "classes": 4, + "functions": 17, + "methods": 0, + "variables": 0, + "control_structures": 5 + }, + "generated_at": "2025-08-15T16:17:53.906309481Z" }, { "file_info": { "name": "mod.rs", "path": "src/boxes/file/mod.rs", "size_bytes": 0, - "total_lines": 154, - "code_lines": 119, - "comment_lines": 12, - "empty_lines": 23, - "code_ratio": 0.7727272727272727, - "analyzed_at": "2025-08-13T11:36:21.740729209Z", + "total_lines": 172, + "code_lines": 132, + "comment_lines": 15, + "empty_lines": 25, + "code_ratio": 0.7674418604651163, + "analyzed_at": "2025-08-15T16:17:53.926519545Z", "metadata": {} }, "language": "rust", @@ -17743,7 +32150,20 @@ "name": "FileBox", "parent_class": null, "start_line": 18, - "end_line": 98, + "end_line": 29, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 31, + "end_line": 111, "methods": [], "properties": [], "member_variables": [], @@ -17754,34 +32174,34 @@ { "name": "FileBox", "parent_class": null, - "start_line": 100, - "end_line": 120, + "start_line": 113, + "end_line": 133, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" + "implementing_trait": "BoxCore", + "type": "impl" } }, { "name": "FileBox", "parent_class": null, - "start_line": 122, - "end_line": 148, + "start_line": 135, + "end_line": 166, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "FileBox", "parent_class": null, - "start_line": 150, - "end_line": 154, + "start_line": 168, + "end_line": 172, "methods": [], "properties": [], "member_variables": [], @@ -17793,9 +32213,29 @@ ], "functions": [ { - "name": "new", + "name": "clone", "start_line": 19, - "end_line": 37, + "end_line": 28, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 32, + "end_line": 50, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -17813,8 +32253,8 @@ }, { "name": "closure", - "start_line": 29, - "end_line": 29, + "start_line": 42, + "end_line": 42, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -17831,8 +32271,8 @@ }, { "name": "open", - "start_line": 39, - "end_line": 46, + "start_line": 52, + "end_line": 59, "parameters": [ "path: &str" ], @@ -17846,55 +32286,12 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "read_to_string", - "start_line": 48, - "end_line": 53, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "write_all", - "start_line": 55, - "end_line": 58, - "parameters": [ - "&self", - "buf: &[u8]" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "read", "start_line": 61, "end_line": 66, "parameters": [ @@ -17915,12 +32312,12 @@ } }, { - "name": "write", - "start_line": 69, - "end_line": 75, + "name": "write_all", + "start_line": 68, + "end_line": 71, "parameters": [ "&self", - "content" + "buf: &[u8]" ], "is_async": false, "is_arrow_function": false, @@ -17937,9 +32334,9 @@ } }, { - "name": "exists", - "start_line": 78, - "end_line": 81, + "name": "read", + "start_line": 74, + "end_line": 79, "parameters": [ "&self" ], @@ -17957,10 +32354,53 @@ "type": "function" } }, + { + "name": "write", + "start_line": 82, + "end_line": 88, + "parameters": [ + "&self", + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "exists", + "start_line": 91, + "end_line": 94, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, { "name": "delete", - "start_line": 84, - "end_line": 89, + "start_line": 97, + "end_line": 102, "parameters": [ "&self" ], @@ -17974,14 +32414,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "copy", - "start_line": 92, - "end_line": 97, + "start_line": 105, + "end_line": 110, "parameters": [ "&self", "dest: &str" @@ -17996,14 +32436,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "box_id", - "start_line": 101, - "end_line": 103, + "start_line": 114, + "end_line": 116, "parameters": [ "&self" ], @@ -18022,8 +32462,8 @@ }, { "name": "parent_type_id", - "start_line": 105, - "end_line": 107, + "start_line": 118, + "end_line": 120, "parameters": [ "&self" ], @@ -18042,8 +32482,8 @@ }, { "name": "fmt_box", - "start_line": 109, - "end_line": 111, + "start_line": 122, + "end_line": 124, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -18063,8 +32503,8 @@ }, { "name": "as_any", - "start_line": 113, - "end_line": 115, + "start_line": 126, + "end_line": 128, "parameters": [ "&self" ], @@ -18083,8 +32523,8 @@ }, { "name": "as_any_mut", - "start_line": 117, - "end_line": 119, + "start_line": 130, + "end_line": 132, "parameters": [ "&mut self" ], @@ -18103,8 +32543,28 @@ }, { "name": "clone_box", - "start_line": 123, - "end_line": 129, + "start_line": 136, + "end_line": 142, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 145, + "end_line": 147, "parameters": [ "&self" ], @@ -18123,8 +32583,8 @@ }, { "name": "to_string_box", - "start_line": 131, - "end_line": 133, + "start_line": 149, + "end_line": 151, "parameters": [ "&self" ], @@ -18143,8 +32603,8 @@ }, { "name": "type_name", - "start_line": 136, - "end_line": 138, + "start_line": 154, + "end_line": 156, "parameters": [ "&self" ], @@ -18163,8 +32623,8 @@ }, { "name": "equals", - "start_line": 141, - "end_line": 147, + "start_line": 159, + "end_line": 165, "parameters": [ "&self", "other: &dyn NyashBox" @@ -18184,8 +32644,8 @@ }, { "name": "fmt", - "start_line": 151, - "end_line": 153, + "start_line": 169, + "end_line": 171, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -18239,7 +32699,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::RwLock", "imported_names": [], "alias": null, "line_number": 9, @@ -18250,7 +32710,7 @@ "module_path": "std::fs::OpenOptions", "imported_names": [], "alias": null, - "line_number": 27, + "line_number": 40, "metadata": {} }, { @@ -18258,7 +32718,7 @@ "module_path": "std::path::Path", "imported_names": [], "alias": null, - "line_number": 79, + "line_number": 92, "metadata": {} } ], @@ -18275,8 +32735,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 5, - "function_count": 20, + "class_count": 6, + "function_count": 22, "import_count": 7, "export_count": 0, "unique_calls": 0, @@ -18383,7 +32843,35 @@ "name": "FileBox", "full_name": "", "start_line": 18, - "end_line": 98, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 19, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 31, + "end_line": 111, "start_column": 0, "end_column": 0, "depth": 1, @@ -18396,8 +32884,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 19, - "end_line": 37, + "start_line": 32, + "end_line": 50, "start_column": 0, "end_column": 0, "depth": 3, @@ -18410,8 +32898,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 22, - "end_line": 22, + "start_line": 35, + "end_line": 35, "start_column": 0, "end_column": 0, "depth": 5, @@ -18424,8 +32912,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 27, - "end_line": 27, + "start_line": 40, + "end_line": 40, "start_column": 0, "end_column": 0, "depth": 10, @@ -18438,8 +32926,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 28, - "end_line": 29, + "start_line": 41, + "end_line": 42, "start_column": 0, "end_column": 0, "depth": 10, @@ -18452,8 +32940,8 @@ "type": "function", "name": "open", "full_name": "", - "start_line": 39, - "end_line": 46, + "start_line": 52, + "end_line": 59, "start_column": 0, "end_column": 0, "depth": 3, @@ -18466,8 +32954,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 40, - "end_line": 40, + "start_line": 53, + "end_line": 53, "start_column": 0, "end_column": 0, "depth": 5, @@ -18480,8 +32968,8 @@ "type": "function", "name": "read_to_string", "full_name": "", - "start_line": 48, - "end_line": 53, + "start_line": 61, + "end_line": 66, "start_column": 0, "end_column": 0, "depth": 3, @@ -18494,8 +32982,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 49, - "end_line": 49, + "start_line": 62, + "end_line": 62, "start_column": 0, "end_column": 0, "depth": 5, @@ -18508,8 +32996,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 50, - "end_line": 50, + "start_line": 63, + "end_line": 63, "start_column": 0, "end_column": 0, "depth": 5, @@ -18522,8 +33010,8 @@ "type": "function", "name": "write_all", "full_name": "", - "start_line": 55, - "end_line": 58, + "start_line": 68, + "end_line": 71, "start_column": 0, "end_column": 0, "depth": 3, @@ -18536,8 +33024,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 56, - "end_line": 56, + "start_line": 69, + "end_line": 69, "start_column": 0, "end_column": 0, "depth": 5, @@ -18550,8 +33038,8 @@ "type": "function", "name": "read", "full_name": "", - "start_line": 61, - "end_line": 66, + "start_line": 74, + "end_line": 79, "start_column": 0, "end_column": 0, "depth": 3, @@ -18564,8 +33052,8 @@ "type": "function", "name": "write", "full_name": "", - "start_line": 69, - "end_line": 75, + "start_line": 82, + "end_line": 88, "start_column": 0, "end_column": 0, "depth": 3, @@ -18578,8 +33066,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 70, - "end_line": 70, + "start_line": 83, + "end_line": 83, "start_column": 0, "end_column": 0, "depth": 5, @@ -18592,8 +33080,8 @@ "type": "function", "name": "exists", "full_name": "", - "start_line": 78, - "end_line": 81, + "start_line": 91, + "end_line": 94, "start_column": 0, "end_column": 0, "depth": 3, @@ -18606,8 +33094,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 79, - "end_line": 79, + "start_line": 92, + "end_line": 92, "start_column": 0, "end_column": 0, "depth": 5, @@ -18620,8 +33108,8 @@ "type": "function", "name": "delete", "full_name": "", - "start_line": 84, - "end_line": 89, + "start_line": 97, + "end_line": 102, "start_column": 0, "end_column": 0, "depth": 3, @@ -18634,8 +33122,8 @@ "type": "function", "name": "copy", "full_name": "", - "start_line": 92, - "end_line": 97, + "start_line": 105, + "end_line": 110, "start_column": 0, "end_column": 0, "depth": 3, @@ -18648,8 +33136,8 @@ "type": "class", "name": "FileBox", "full_name": "", - "start_line": 100, - "end_line": 120, + "start_line": 113, + "end_line": 133, "start_column": 0, "end_column": 0, "depth": 1, @@ -18662,8 +33150,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 101, - "end_line": 103, + "start_line": 114, + "end_line": 116, "start_column": 0, "end_column": 0, "depth": 3, @@ -18676,8 +33164,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 105, - "end_line": 107, + "start_line": 118, + "end_line": 120, "start_column": 0, "end_column": 0, "depth": 3, @@ -18690,8 +33178,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 109, - "end_line": 111, + "start_line": 122, + "end_line": 124, "start_column": 0, "end_column": 0, "depth": 3, @@ -18704,8 +33192,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 113, - "end_line": 115, + "start_line": 126, + "end_line": 128, "start_column": 0, "end_column": 0, "depth": 3, @@ -18718,8 +33206,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 117, - "end_line": 119, + "start_line": 130, + "end_line": 132, "start_column": 0, "end_column": 0, "depth": 3, @@ -18732,8 +33220,8 @@ "type": "class", "name": "FileBox", "full_name": "", - "start_line": 122, - "end_line": 148, + "start_line": 135, + "end_line": 166, "start_column": 0, "end_column": 0, "depth": 1, @@ -18746,8 +33234,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 123, - "end_line": 129, + "start_line": 136, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 145, + "end_line": 147, "start_column": 0, "end_column": 0, "depth": 3, @@ -18760,8 +33262,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 131, - "end_line": 133, + "start_line": 149, + "end_line": 151, "start_column": 0, "end_column": 0, "depth": 3, @@ -18774,8 +33276,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 136, - "end_line": 138, + "start_line": 154, + "end_line": 156, "start_column": 0, "end_column": 0, "depth": 3, @@ -18788,8 +33290,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 141, - "end_line": 147, + "start_line": 159, + "end_line": 165, "start_column": 0, "end_column": 0, "depth": 3, @@ -18802,8 +33304,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 142, - "end_line": 146, + "start_line": 160, + "end_line": 164, "start_column": 0, "end_column": 0, "depth": 6, @@ -18816,8 +33318,8 @@ "type": "class", "name": "FileBox", "full_name": "", - "start_line": 150, - "end_line": 154, + "start_line": 168, + "end_line": 172, "start_column": 0, "end_column": 0, "depth": 1, @@ -18830,8 +33332,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 151, - "end_line": 153, + "start_line": 169, + "end_line": 171, "start_column": 0, "end_column": 0, "depth": 3, @@ -18845,35 +33347,35 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 40, + "total_nodes": 43, "max_depth": 10, "node_type_counts": { - "function": 19, - "import": 7, "variable": 7, - "class": 5, "if_statement": 1, + "class": 6, + "function": 21, + "import": 7, "file_root": 1 }, - "classes": 5, - "functions": 19, + "classes": 6, + "functions": 21, "methods": 0, "variables": 7, "control_structures": 1 }, - "generated_at": "2025-08-13T11:36:21.740737870Z" + "generated_at": "2025-08-15T16:17:53.926529041Z" }, { "file_info": { "name": "mod.rs", "path": "src/boxes/future/mod.rs", "size_bytes": 0, - "total_lines": 147, - "code_lines": 113, - "comment_lines": 12, - "empty_lines": 22, - "code_ratio": 0.7687074829931972, - "analyzed_at": "2025-08-13T11:36:21.739796757Z", + "total_lines": 159, + "code_lines": 122, + "comment_lines": 13, + "empty_lines": 24, + "code_ratio": 0.7672955974842768, + "analyzed_at": "2025-08-15T16:17:53.926539150Z", "metadata": {} }, "language": "rust", @@ -18887,15 +33389,15 @@ "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { "name": "NyashFutureBox", "parent_class": null, "start_line": 18, - "end_line": 26, + "end_line": 33, "methods": [], "properties": [], "member_variables": [], @@ -18907,8 +33409,8 @@ { "name": "NyashFutureBox", "parent_class": null, - "start_line": 28, - "end_line": 65, + "start_line": 35, + "end_line": 72, "methods": [], "properties": [], "member_variables": [], @@ -18919,8 +33421,8 @@ { "name": "NyashFutureBox", "parent_class": null, - "start_line": 67, - "end_line": 99, + "start_line": 74, + "end_line": 111, "methods": [], "properties": [], "member_variables": [], @@ -18932,8 +33434,8 @@ { "name": "NyashFutureBox", "parent_class": null, - "start_line": 101, - "end_line": 131, + "start_line": 113, + "end_line": 143, "methods": [], "properties": [], "member_variables": [], @@ -18945,8 +33447,8 @@ { "name": "NyashFutureBox", "parent_class": null, - "start_line": 133, - "end_line": 137, + "start_line": 145, + "end_line": 149, "methods": [], "properties": [], "member_variables": [], @@ -18958,8 +33460,8 @@ { "name": "FutureBox", "parent_class": null, - "start_line": 142, - "end_line": 147, + "start_line": 154, + "end_line": 159, "methods": [], "properties": [], "member_variables": [], @@ -18972,7 +33474,7 @@ { "name": "clone", "start_line": 19, - "end_line": 25, + "end_line": 32, "parameters": [ "&self" ], @@ -18991,8 +33493,8 @@ }, { "name": "new", - "start_line": 29, - "end_line": 35, + "start_line": 36, + "end_line": 42, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -19010,8 +33512,8 @@ }, { "name": "set_result", - "start_line": 38, - "end_line": 43, + "start_line": 45, + "end_line": 50, "parameters": [ "&self", "value" @@ -19032,8 +33534,8 @@ }, { "name": "get", - "start_line": 46, - "end_line": 59, + "start_line": 53, + "end_line": 66, "parameters": [ "&self" ], @@ -19047,14 +33549,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "ready", - "start_line": 62, - "end_line": 64, + "start_line": 69, + "end_line": 71, "parameters": [ "&self" ], @@ -19068,14 +33570,34 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "clone_box", - "start_line": 68, - "end_line": 70, + "start_line": 75, + "end_line": 77, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 80, + "end_line": 82, "parameters": [ "&self" ], @@ -19094,8 +33616,8 @@ }, { "name": "to_string_box", - "start_line": 72, - "end_line": 84, + "start_line": 84, + "end_line": 96, "parameters": [ "&self" ], @@ -19114,8 +33636,8 @@ }, { "name": "type_name", - "start_line": 87, - "end_line": 89, + "start_line": 99, + "end_line": 101, "parameters": [ "&self" ], @@ -19134,8 +33656,8 @@ }, { "name": "equals", - "start_line": 92, - "end_line": 98, + "start_line": 104, + "end_line": 110, "parameters": [ "&self", "other: &dyn NyashBox" @@ -19155,8 +33677,8 @@ }, { "name": "box_id", - "start_line": 102, - "end_line": 104, + "start_line": 114, + "end_line": 116, "parameters": [ "&self" ], @@ -19175,8 +33697,8 @@ }, { "name": "parent_type_id", - "start_line": 106, - "end_line": 108, + "start_line": 118, + "end_line": 120, "parameters": [ "&self" ], @@ -19195,8 +33717,8 @@ }, { "name": "fmt_box", - "start_line": 110, - "end_line": 122, + "start_line": 122, + "end_line": 134, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -19216,8 +33738,8 @@ }, { "name": "as_any", - "start_line": 124, - "end_line": 126, + "start_line": 136, + "end_line": 138, "parameters": [ "&self" ], @@ -19236,8 +33758,8 @@ }, { "name": "as_any_mut", - "start_line": 128, - "end_line": 130, + "start_line": 140, + "end_line": 142, "parameters": [ "&mut self" ], @@ -19256,8 +33778,8 @@ }, { "name": "fmt", - "start_line": 134, - "end_line": 136, + "start_line": 146, + "end_line": 148, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -19277,8 +33799,8 @@ }, { "name": "wait_and_get", - "start_line": 144, - "end_line": 146, + "start_line": 156, + "end_line": 158, "parameters": [ "&self" ], @@ -19292,8 +33814,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } } ], @@ -19332,7 +33854,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::RwLock", "imported_names": [], "alias": null, "line_number": 9, @@ -19353,7 +33875,7 @@ "metadata": {}, "stats": { "class_count": 7, - "function_count": 16, + "function_count": 17, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -19460,7 +33982,7 @@ "name": "NyashFutureBox", "full_name": "", "start_line": 18, - "end_line": 26, + "end_line": 33, "start_column": 0, "end_column": 0, "depth": 1, @@ -19474,7 +33996,7 @@ "name": "clone", "full_name": "", "start_line": 19, - "end_line": 25, + "end_line": 32, "start_column": 0, "end_column": 0, "depth": 3, @@ -19483,12 +34005,54 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 21, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 25, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "NyashFutureBox", "full_name": "", - "start_line": 28, - "end_line": 65, + "start_line": 35, + "end_line": 72, "start_column": 0, "end_column": 0, "depth": 1, @@ -19501,8 +34065,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 29, - "end_line": 35, + "start_line": 36, + "end_line": 42, "start_column": 0, "end_column": 0, "depth": 3, @@ -19515,8 +34079,8 @@ "type": "function", "name": "set_result", "full_name": "", - "start_line": 38, - "end_line": 43, + "start_line": 45, + "end_line": 50, "start_column": 0, "end_column": 0, "depth": 3, @@ -19529,8 +34093,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 39, - "end_line": 39, + "start_line": 46, + "end_line": 46, "start_column": 0, "end_column": 0, "depth": 5, @@ -19543,8 +34107,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 41, - "end_line": 41, + "start_line": 48, + "end_line": 48, "start_column": 0, "end_column": 0, "depth": 5, @@ -19557,8 +34121,8 @@ "type": "function", "name": "get", "full_name": "", - "start_line": 46, - "end_line": 59, + "start_line": 53, + "end_line": 66, "start_column": 0, "end_column": 0, "depth": 3, @@ -19571,8 +34135,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 48, - "end_line": 55, + "start_line": 55, + "end_line": 62, "start_column": 0, "end_column": 0, "depth": 6, @@ -19585,8 +34149,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 49, - "end_line": 49, + "start_line": 56, + "end_line": 56, "start_column": 0, "end_column": 0, "depth": 8, @@ -19599,8 +34163,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 50, - "end_line": 52, + "start_line": 57, + "end_line": 59, "start_column": 0, "end_column": 0, "depth": 9, @@ -19613,8 +34177,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 57, - "end_line": 57, + "start_line": 64, + "end_line": 64, "start_column": 0, "end_column": 0, "depth": 5, @@ -19627,8 +34191,8 @@ "type": "function", "name": "ready", "full_name": "", - "start_line": 62, - "end_line": 64, + "start_line": 69, + "end_line": 71, "start_column": 0, "end_column": 0, "depth": 3, @@ -19641,8 +34205,8 @@ "type": "class", "name": "NyashFutureBox", "full_name": "", - "start_line": 67, - "end_line": 99, + "start_line": 74, + "end_line": 111, "start_column": 0, "end_column": 0, "depth": 1, @@ -19655,8 +34219,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 68, - "end_line": 70, + "start_line": 75, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 80, + "end_line": 82, "start_column": 0, "end_column": 0, "depth": 3, @@ -19669,8 +34247,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 72, - "end_line": 84, + "start_line": 84, + "end_line": 96, "start_column": 0, "end_column": 0, "depth": 3, @@ -19683,8 +34261,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 73, - "end_line": 73, + "start_line": 85, + "end_line": 85, "start_column": 0, "end_column": 0, "depth": 5, @@ -19697,8 +34275,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 74, - "end_line": 83, + "start_line": 86, + "end_line": 95, "start_column": 0, "end_column": 0, "depth": 6, @@ -19711,8 +34289,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 75, - "end_line": 75, + "start_line": 87, + "end_line": 87, "start_column": 0, "end_column": 0, "depth": 8, @@ -19725,8 +34303,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 76, - "end_line": 80, + "start_line": 88, + "end_line": 92, "start_column": 0, "end_column": 0, "depth": 9, @@ -19739,8 +34317,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 87, - "end_line": 89, + "start_line": 99, + "end_line": 101, "start_column": 0, "end_column": 0, "depth": 3, @@ -19753,8 +34331,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 92, - "end_line": 98, + "start_line": 104, + "end_line": 110, "start_column": 0, "end_column": 0, "depth": 3, @@ -19767,8 +34345,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 93, - "end_line": 97, + "start_line": 105, + "end_line": 109, "start_column": 0, "end_column": 0, "depth": 6, @@ -19781,8 +34359,8 @@ "type": "class", "name": "NyashFutureBox", "full_name": "", - "start_line": 101, - "end_line": 131, + "start_line": 113, + "end_line": 143, "start_column": 0, "end_column": 0, "depth": 1, @@ -19795,8 +34373,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 102, - "end_line": 104, + "start_line": 114, + "end_line": 116, "start_column": 0, "end_column": 0, "depth": 3, @@ -19809,8 +34387,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 106, - "end_line": 108, + "start_line": 118, + "end_line": 120, "start_column": 0, "end_column": 0, "depth": 3, @@ -19823,8 +34401,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 110, - "end_line": 122, + "start_line": 122, + "end_line": 134, "start_column": 0, "end_column": 0, "depth": 3, @@ -19837,8 +34415,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 111, - "end_line": 111, + "start_line": 123, + "end_line": 123, "start_column": 0, "end_column": 0, "depth": 5, @@ -19851,8 +34429,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 112, - "end_line": 121, + "start_line": 124, + "end_line": 133, "start_column": 0, "end_column": 0, "depth": 6, @@ -19865,8 +34443,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 113, - "end_line": 113, + "start_line": 125, + "end_line": 125, "start_column": 0, "end_column": 0, "depth": 8, @@ -19879,8 +34457,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 114, - "end_line": 118, + "start_line": 126, + "end_line": 130, "start_column": 0, "end_column": 0, "depth": 9, @@ -19893,8 +34471,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 124, - "end_line": 126, + "start_line": 136, + "end_line": 138, "start_column": 0, "end_column": 0, "depth": 3, @@ -19907,8 +34485,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 128, - "end_line": 130, + "start_line": 140, + "end_line": 142, "start_column": 0, "end_column": 0, "depth": 3, @@ -19921,8 +34499,8 @@ "type": "class", "name": "NyashFutureBox", "full_name": "", - "start_line": 133, - "end_line": 137, + "start_line": 145, + "end_line": 149, "start_column": 0, "end_column": 0, "depth": 1, @@ -19935,8 +34513,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 134, - "end_line": 136, + "start_line": 146, + "end_line": 148, "start_column": 0, "end_column": 0, "depth": 3, @@ -19949,8 +34527,8 @@ "type": "class", "name": "FutureBox", "full_name": "", - "start_line": 142, - "end_line": 147, + "start_line": 154, + "end_line": 159, "start_column": 0, "end_column": 0, "depth": 1, @@ -19963,8 +34541,8 @@ "type": "function", "name": "wait_and_get", "full_name": "", - "start_line": 144, - "end_line": 146, + "start_line": 156, + "end_line": 158, "start_column": 0, "end_column": 0, "depth": 3, @@ -19978,36 +34556,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 44, + "total_nodes": 48, "max_depth": 9, "node_type_counts": { - "class": 7, - "for_loop": 1, - "function": 16, - "if_statement": 6, "file_root": 1, + "for_loop": 1, + "if_statement": 6, + "variable": 11, "import": 5, - "variable": 8 + "class": 7, + "function": 17 }, "classes": 7, - "functions": 16, + "functions": 17, "methods": 0, - "variables": 8, + "variables": 11, "control_structures": 7 }, - "generated_at": "2025-08-13T11:36:21.739806215Z" + "generated_at": "2025-08-15T16:17:53.926547269Z" }, { "file_info": { "name": "mod.rs", "path": "src/boxes/http/mod.rs", "size_bytes": 0, - "total_lines": 101, - "code_lines": 70, - "comment_lines": 11, - "empty_lines": 20, - "code_ratio": 0.693069306930693, - "analyzed_at": "2025-08-13T11:36:21.746755307Z", + "total_lines": 105, + "code_lines": 72, + "comment_lines": 12, + "empty_lines": 21, + "code_ratio": 0.6857142857142857, + "analyzed_at": "2025-08-15T16:17:53.929450723Z", "metadata": {} }, "language": "rust", @@ -20015,21 +34593,21 @@ { "name": "HttpClientBox", "parent_class": null, - "start_line": 14, - "end_line": 16, + "start_line": 13, + "end_line": 15, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { "name": "HttpClientBox", "parent_class": null, - "start_line": 18, - "end_line": 49, + "start_line": 17, + "end_line": 48, "methods": [], "properties": [], "member_variables": [], @@ -20040,21 +34618,21 @@ { "name": "HttpClientBox", "parent_class": null, - "start_line": 51, - "end_line": 73, + "start_line": 50, + "end_line": 77, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "HttpClientBox", "parent_class": null, - "start_line": 75, - "end_line": 95, + "start_line": 79, + "end_line": 99, "methods": [], "properties": [], "member_variables": [], @@ -20066,8 +34644,8 @@ { "name": "HttpClientBox", "parent_class": null, - "start_line": 97, - "end_line": 101, + "start_line": 101, + "end_line": 105, "methods": [], "properties": [], "member_variables": [], @@ -20080,8 +34658,8 @@ "functions": [ { "name": "new", - "start_line": 19, - "end_line": 23, + "start_line": 18, + "end_line": 22, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -20093,14 +34671,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "http_get", - "start_line": 26, - "end_line": 28, + "start_line": 25, + "end_line": 27, "parameters": [ "&self", "url" @@ -20121,8 +34699,8 @@ }, { "name": "post", - "start_line": 31, - "end_line": 33, + "start_line": 30, + "end_line": 32, "parameters": [ "&self", "url", @@ -20138,14 +34716,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "put", - "start_line": 36, - "end_line": 38, + "start_line": 35, + "end_line": 37, "parameters": [ "&self", "url", @@ -20161,14 +34739,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "delete", - "start_line": 41, - "end_line": 43, + "start_line": 40, + "end_line": 42, "parameters": [ "&self", "url" @@ -20189,8 +34767,8 @@ }, { "name": "request", - "start_line": 46, - "end_line": 48, + "start_line": 45, + "end_line": 47, "parameters": [ "&self", "method", @@ -20213,8 +34791,8 @@ }, { "name": "clone_box", - "start_line": 52, - "end_line": 54, + "start_line": 51, + "end_line": 53, "parameters": [ "&self" ], @@ -20232,7 +34810,7 @@ } }, { - "name": "to_string_box", + "name": "share_box", "start_line": 56, "end_line": 58, "parameters": [ @@ -20251,10 +34829,30 @@ "type": "function" } }, + { + "name": "to_string_box", + "start_line": 60, + "end_line": 62, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "type_name", - "start_line": 61, - "end_line": 63, + "start_line": 65, + "end_line": 67, "parameters": [ "&self" ], @@ -20273,8 +34871,8 @@ }, { "name": "equals", - "start_line": 66, - "end_line": 72, + "start_line": 70, + "end_line": 76, "parameters": [ "&self", "other: &dyn NyashBox" @@ -20294,26 +34892,6 @@ }, { "name": "box_id", - "start_line": 76, - "end_line": 78, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "parent_type_id", "start_line": 80, "end_line": 82, "parameters": [ @@ -20333,9 +34911,29 @@ } }, { - "name": "fmt_box", + "name": "parent_type_id", "start_line": 84, "end_line": 86, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 88, + "end_line": 90, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -20355,8 +34953,8 @@ }, { "name": "as_any", - "start_line": 88, - "end_line": 90, + "start_line": 92, + "end_line": 94, "parameters": [ "&self" ], @@ -20375,8 +34973,8 @@ }, { "name": "as_any_mut", - "start_line": 92, - "end_line": 94, + "start_line": 96, + "end_line": 98, "parameters": [ "&mut self" ], @@ -20395,8 +34993,8 @@ }, { "name": "fmt", - "start_line": 98, - "end_line": 100, + "start_line": 102, + "end_line": 104, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -20439,14 +35037,6 @@ "alias": null, "line_number": 10, "metadata": {} - }, - { - "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", - "imported_names": [], - "alias": null, - "line_number": 11, - "metadata": {} } ], "exports": [], @@ -20463,8 +35053,8 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 16, - "import_count": 4, + "function_count": 17, + "import_count": 3, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -20524,11 +35114,11 @@ "source_text": null }, { - "type": "import", - "name": "", + "type": "class", + "name": "HttpClientBox", "full_name": "", - "start_line": 11, - "end_line": 11, + "start_line": 13, + "end_line": 15, "start_column": 0, "end_column": 0, "depth": 1, @@ -20541,22 +35131,8 @@ "type": "class", "name": "HttpClientBox", "full_name": "", - "start_line": 14, - "end_line": 16, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "HttpClientBox", - "full_name": "", - "start_line": 18, - "end_line": 49, + "start_line": 17, + "end_line": 48, "start_column": 0, "end_column": 0, "depth": 1, @@ -20569,8 +35145,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 19, - "end_line": 23, + "start_line": 18, + "end_line": 22, "start_column": 0, "end_column": 0, "depth": 3, @@ -20583,8 +35159,8 @@ "type": "function", "name": "http_get", "full_name": "", - "start_line": 26, - "end_line": 28, + "start_line": 25, + "end_line": 27, "start_column": 0, "end_column": 0, "depth": 3, @@ -20597,8 +35173,8 @@ "type": "function", "name": "post", "full_name": "", - "start_line": 31, - "end_line": 33, + "start_line": 30, + "end_line": 32, "start_column": 0, "end_column": 0, "depth": 3, @@ -20611,8 +35187,8 @@ "type": "function", "name": "put", "full_name": "", - "start_line": 36, - "end_line": 38, + "start_line": 35, + "end_line": 37, "start_column": 0, "end_column": 0, "depth": 3, @@ -20625,8 +35201,8 @@ "type": "function", "name": "delete", "full_name": "", - "start_line": 41, - "end_line": 43, + "start_line": 40, + "end_line": 42, "start_column": 0, "end_column": 0, "depth": 3, @@ -20639,8 +35215,8 @@ "type": "function", "name": "request", "full_name": "", - "start_line": 46, - "end_line": 48, + "start_line": 45, + "end_line": 47, "start_column": 0, "end_column": 0, "depth": 3, @@ -20653,8 +35229,8 @@ "type": "class", "name": "HttpClientBox", "full_name": "", - "start_line": 51, - "end_line": 73, + "start_line": 50, + "end_line": 77, "start_column": 0, "end_column": 0, "depth": 1, @@ -20667,8 +35243,8 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 52, - "end_line": 54, + "start_line": 51, + "end_line": 53, "start_column": 0, "end_column": 0, "depth": 3, @@ -20679,7 +35255,7 @@ }, { "type": "function", - "name": "to_string_box", + "name": "share_box", "full_name": "", "start_line": 56, "end_line": 58, @@ -20691,12 +35267,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 60, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "type_name", "full_name": "", - "start_line": 61, - "end_line": 63, + "start_line": 65, + "end_line": 67, "start_column": 0, "end_column": 0, "depth": 3, @@ -20709,8 +35299,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 66, - "end_line": 72, + "start_line": 70, + "end_line": 76, "start_column": 0, "end_column": 0, "depth": 3, @@ -20723,8 +35313,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 67, - "end_line": 71, + "start_line": 71, + "end_line": 75, "start_column": 0, "end_column": 0, "depth": 6, @@ -20737,8 +35327,8 @@ "type": "class", "name": "HttpClientBox", "full_name": "", - "start_line": 75, - "end_line": 95, + "start_line": 79, + "end_line": 99, "start_column": 0, "end_column": 0, "depth": 1, @@ -20751,20 +35341,6 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 76, - "end_line": 78, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parent_type_id", - "full_name": "", "start_line": 80, "end_line": 82, "start_column": 0, @@ -20777,7 +35353,7 @@ }, { "type": "function", - "name": "fmt_box", + "name": "parent_type_id", "full_name": "", "start_line": 84, "end_line": 86, @@ -20791,7 +35367,7 @@ }, { "type": "function", - "name": "as_any", + "name": "fmt_box", "full_name": "", "start_line": 88, "end_line": 90, @@ -20805,7 +35381,7 @@ }, { "type": "function", - "name": "as_any_mut", + "name": "as_any", "full_name": "", "start_line": 92, "end_line": 94, @@ -20817,12 +35393,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 96, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "HttpClientBox", "full_name": "", - "start_line": 97, - "end_line": 101, + "start_line": 101, + "end_line": 105, "start_column": 0, "end_column": 0, "depth": 1, @@ -20835,8 +35425,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 98, - "end_line": 100, + "start_line": 102, + "end_line": 104, "start_column": 0, "end_column": 0, "depth": 3, @@ -20853,31 +35443,4934 @@ "total_nodes": 27, "max_depth": 6, "node_type_counts": { + "function": 17, "class": 5, - "function": 16, - "import": 4, "file_root": 1, - "if_statement": 1 + "if_statement": 1, + "import": 3 }, "classes": 5, - "functions": 16, + "functions": 17, "methods": 0, "variables": 0, "control_structures": 1 }, - "generated_at": "2025-08-13T11:36:21.746760887Z" + "generated_at": "2025-08-15T16:17:53.929456864Z" + }, + { + "file_info": { + "name": "http_message_box.rs", + "path": "src/boxes/http_message_box.rs", + "size_bytes": 0, + "total_lines": 432, + "code_lines": 281, + "comment_lines": 87, + "empty_lines": 64, + "code_ratio": 0.6504629629629629, + "analyzed_at": "2025-08-15T16:17:53.912121251Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "HTTPRequestBox", + "parent_class": null, + "start_line": 58, + "end_line": 66, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "HTTPRequestBox", + "parent_class": null, + "start_line": 68, + "end_line": 192, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "HTTPRequestBox", + "parent_class": null, + "start_line": 194, + "end_line": 220, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "HTTPRequestBox", + "parent_class": null, + "start_line": 222, + "end_line": 243, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "HTTPRequestBox", + "parent_class": null, + "start_line": 245, + "end_line": 249, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + }, + { + "name": "HTTPResponseBox", + "parent_class": null, + "start_line": 253, + "end_line": 260, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "HTTPResponseBox", + "parent_class": null, + "start_line": 262, + "end_line": 375, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "HTTPResponseBox", + "parent_class": null, + "start_line": 377, + "end_line": 403, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "HTTPResponseBox", + "parent_class": null, + "start_line": 405, + "end_line": 426, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "HTTPResponseBox", + "parent_class": null, + "start_line": 428, + "end_line": 432, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 69, + "end_line": 79, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "parse", + "start_line": 82, + "end_line": 127, + "parameters": [ + "raw_request" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_method", + "start_line": 130, + "end_line": 132, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_path", + "start_line": 135, + "end_line": 137, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_query_string", + "start_line": 140, + "end_line": 142, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_header", + "start_line": 145, + "end_line": 151, + "parameters": [ + "&self", + "name" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_all_headers", + "start_line": 154, + "end_line": 162, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "has_header", + "start_line": 165, + "end_line": 168, + "parameters": [ + "&self", + "name" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_body", + "start_line": 171, + "end_line": 173, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_content_type", + "start_line": 176, + "end_line": 178, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_content_length", + "start_line": 181, + "end_line": 191, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 195, + "end_line": 197, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 200, + "end_line": 202, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 204, + "end_line": 207, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 209, + "end_line": 211, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 213, + "end_line": 219, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 223, + "end_line": 225, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 227, + "end_line": 229, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 231, + "end_line": 234, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 236, + "end_line": 238, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 240, + "end_line": 242, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 246, + "end_line": 248, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 263, + "end_line": 272, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_status", + "start_line": 275, + "end_line": 283, + "parameters": [ + "&self", + "code", + "message" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_header", + "start_line": 286, + "end_line": 292, + "parameters": [ + "&self", + "name", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_content_type", + "start_line": 295, + "end_line": 301, + "parameters": [ + "&self", + "content_type" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_body", + "start_line": 304, + "end_line": 309, + "parameters": [ + "&self", + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "append_body", + "start_line": 312, + "end_line": 317, + "parameters": [ + "&self", + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "to_http_string", + "start_line": 320, + "end_line": 344, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "create_html_response", + "start_line": 347, + "end_line": 354, + "parameters": [ + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "create_json_response", + "start_line": 357, + "end_line": 364, + "parameters": [ + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "create_404_response", + "start_line": 367, + "end_line": 374, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone_box", + "start_line": 378, + "end_line": 380, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 383, + "end_line": 385, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 387, + "end_line": 390, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 392, + "end_line": 394, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 396, + "end_line": 402, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 406, + "end_line": 408, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 410, + "end_line": 412, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 414, + "end_line": 417, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 419, + "end_line": 421, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 423, + "end_line": 425, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 429, + "end_line": 431, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 51, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::MapBox", + "imported_names": [], + "alias": null, + "line_number": 52, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 53, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 54, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 10, + "function_count": 43, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPRequestBox", + "full_name": "", + "start_line": 58, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPRequestBox", + "full_name": "", + "start_line": 68, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 69, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse", + "full_name": "", + "start_line": 82, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 83, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<&str>", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<&str>", + "full_name": "", + "start_line": 92, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<&str>", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_method", + "full_name": "", + "start_line": 130, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_path", + "full_name": "", + "start_line": 135, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_query_string", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_header", + "full_name": "", + "start_line": 145, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_all_headers", + "full_name": "", + "start_line": 154, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 155, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 157, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 158, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "has_header", + "full_name": "", + "start_line": 165, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_body", + "full_name": "", + "start_line": 171, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_content_type", + "full_name": "", + "start_line": 176, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_content_length", + "full_name": "", + "start_line": 181, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPRequestBox", + "full_name": "", + "start_line": 194, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 195, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 200, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 204, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 209, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 213, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPRequestBox", + "full_name": "", + "start_line": 222, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 223, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 227, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 231, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 236, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 240, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPRequestBox", + "full_name": "", + "start_line": 245, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 246, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPResponseBox", + "full_name": "", + "start_line": 253, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPResponseBox", + "full_name": "", + "start_line": 262, + "end_line": 375, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 263, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_status", + "full_name": "", + "start_line": 275, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 278, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 279, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_header", + "full_name": "", + "start_line": 286, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 287, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 288, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_content_type", + "full_name": "", + "start_line": 295, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 296, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_body", + "full_name": "", + "start_line": 304, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "append_body", + "full_name": "", + "start_line": 312, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 313, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_http_string", + "full_name": "", + "start_line": 320, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 321, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 333, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_html_response", + "full_name": "", + "start_line": 347, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_json_response", + "full_name": "", + "start_line": 357, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 358, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_404_response", + "full_name": "", + "start_line": 367, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 368, + "end_line": 368, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPResponseBox", + "full_name": "", + "start_line": 377, + "end_line": 403, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 378, + "end_line": 380, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 383, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 387, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 392, + "end_line": 394, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 396, + "end_line": 402, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 397, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPResponseBox", + "full_name": "", + "start_line": 405, + "end_line": 426, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 406, + "end_line": 408, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 410, + "end_line": 412, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 414, + "end_line": 417, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 419, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 423, + "end_line": 425, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPResponseBox", + "full_name": "", + "start_line": 428, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 429, + "end_line": 431, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 94, + "max_depth": 11, + "node_type_counts": { + "for_loop": 3, + "function": 43, + "import": 4, + "file_root": 1, + "class": 10, + "variable": 24, + "if_statement": 9 + }, + "classes": 10, + "functions": 43, + "methods": 0, + "variables": 24, + "control_structures": 12 + }, + "generated_at": "2025-08-15T16:17:53.912144490Z" + }, + { + "file_info": { + "name": "http_server_box.rs", + "path": "src/boxes/http_server_box.rs", + "size_bytes": 0, + "total_lines": 439, + "code_lines": 285, + "comment_lines": 89, + "empty_lines": 65, + "code_ratio": 0.6492027334851936, + "analyzed_at": "2025-08-15T16:17:53.917715309Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 53, + "end_line": 62, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 64, + "end_line": 100, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 102, + "end_line": 364, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 366, + "end_line": 398, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 400, + "end_line": 425, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 427, + "end_line": 431, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 434, + "end_line": 439, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Drop" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 65, + "end_line": 99, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 68, + "end_line": 68, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 72, + "end_line": 72, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 77, + "end_line": 77, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 86, + "end_line": 86, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "new", + "start_line": 103, + "end_line": 114, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "bind", + "start_line": 117, + "end_line": 134, + "parameters": [ + "&self", + "address", + "port" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "listen", + "start_line": 137, + "end_line": 154, + "parameters": [ + "&self", + "backlog" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "start", + "start_line": 157, + "end_line": 224, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 207, + "end_line": 207, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 214, + "end_line": 217, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "stop", + "start_line": 227, + "end_line": 246, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "route", + "start_line": 249, + "end_line": 255, + "parameters": [ + "&self", + "path", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get", + "start_line": 258, + "end_line": 264, + "parameters": [ + "&self", + "path", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "post", + "start_line": 267, + "end_line": 273, + "parameters": [ + "&self", + "path", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "put", + "start_line": 276, + "end_line": 282, + "parameters": [ + "&self", + "path", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "delete", + "start_line": 285, + "end_line": 291, + "parameters": [ + "&self", + "path", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_static_path", + "start_line": 294, + "end_line": 298, + "parameters": [ + "&self", + "path" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_timeout", + "start_line": 301, + "end_line": 305, + "parameters": [ + "&self", + "seconds" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "handle_client_request_with_routes", + "start_line": 308, + "end_line": 352, + "parameters": [ + "client_socket: SocketBox", + "routes" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "get_active_connections", + "start_line": 355, + "end_line": 358, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_running", + "start_line": 361, + "end_line": 363, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 367, + "end_line": 369, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 372, + "end_line": 374, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 376, + "end_line": 385, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 387, + "end_line": 389, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 391, + "end_line": 397, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 401, + "end_line": 403, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 405, + "end_line": 407, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 409, + "end_line": 416, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 418, + "end_line": 420, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 422, + "end_line": 424, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 428, + "end_line": 430, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "drop", + "start_line": 435, + "end_line": 438, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 43, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::SocketBox", + "imported_names": [], + "alias": null, + "line_number": 44, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::http_message_box::{HTTPRequestBox, HTTPResponseBox}", + "imported_names": [], + "alias": null, + "line_number": 45, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 46, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 47, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 48, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::thread", + "imported_names": [], + "alias": null, + "line_number": 49, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 34, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 47, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 53, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 64, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 65, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 70, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap>", + "full_name": "", + "start_line": 71, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec>", + "full_name": "", + "start_line": 76, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec>", + "full_name": "", + "start_line": 85, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 102, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 103, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "bind", + "full_name": "", + "start_line": 117, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 119, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "listen", + "full_name": "", + "start_line": 137, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "start", + "full_name": "", + "start_line": 157, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 177, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 198, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap>", + "full_name": "", + "start_line": 206, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stop", + "full_name": "", + "start_line": 227, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 233, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "route", + "full_name": "", + "start_line": 249, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 250, + "end_line": 250, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get", + "full_name": "", + "start_line": 258, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 259, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "post", + "full_name": "", + "start_line": 267, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 268, + "end_line": 268, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 269, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "put", + "full_name": "", + "start_line": 276, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 277, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 278, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "delete", + "full_name": "", + "start_line": 285, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 287, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_static_path", + "full_name": "", + "start_line": 294, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 295, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_timeout", + "full_name": "", + "start_line": 301, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 302, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "handle_client_request_with_routes", + "full_name": "", + "start_line": 308, + "end_line": 352, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 313, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 314, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 319, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 322, + "end_line": 322, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 323, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 324, + "end_line": 324, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 329, + "end_line": 329, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 330, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 332, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 332, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 338, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 349, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 350, + "end_line": 350, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 351, + "end_line": 351, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_active_connections", + "full_name": "", + "start_line": 355, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 356, + "end_line": 356, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_running", + "full_name": "", + "start_line": 361, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 366, + "end_line": 398, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 367, + "end_line": 369, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 372, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 376, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 377, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 378, + "end_line": 378, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 379, + "end_line": 379, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 387, + "end_line": 389, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 391, + "end_line": 397, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 392, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 400, + "end_line": 425, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 401, + "end_line": 403, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 405, + "end_line": 407, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 409, + "end_line": 416, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 410, + "end_line": 410, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 411, + "end_line": 411, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 412, + "end_line": 412, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 418, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 422, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 427, + "end_line": 431, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 428, + "end_line": 430, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 434, + "end_line": 439, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "drop", + "full_name": "", + "start_line": 435, + "end_line": 438, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 112, + "max_depth": 16, + "node_type_counts": { + "if_statement": 11, + "variable": 56, + "import": 7, + "class": 7, + "for_loop": 2, + "file_root": 1, + "function": 28 + }, + "classes": 7, + "functions": 28, + "methods": 0, + "variables": 56, + "control_structures": 13 + }, + "generated_at": "2025-08-15T16:17:53.917738484Z" }, { "file_info": { "name": "integer_box.rs", "path": "src/boxes/integer_box.rs", "size_bytes": 0, - "total_lines": 115, - "code_lines": 60, - "comment_lines": 39, + "total_lines": 119, + "code_lines": 63, + "comment_lines": 40, "empty_lines": 16, - "code_ratio": 0.5217391304347826, - "analyzed_at": "2025-08-13T11:36:21.738934060Z", + "code_ratio": 0.5294117647058824, + "analyzed_at": "2025-08-15T16:17:53.917770197Z", "metadata": {} }, "language": "rust", @@ -20891,8 +40384,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -20911,20 +40404,20 @@ "name": "IntegerBox", "parent_class": null, "start_line": 64, - "end_line": 87, + "end_line": 91, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "IntegerBox", "parent_class": null, - "start_line": 89, - "end_line": 109, + "start_line": 93, + "end_line": 113, "methods": [], "properties": [], "member_variables": [], @@ -20936,8 +40429,8 @@ { "name": "IntegerBox", "parent_class": null, - "start_line": 111, - "end_line": 115, + "start_line": 115, + "end_line": 119, "methods": [], "properties": [], "member_variables": [], @@ -20965,8 +40458,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -20984,8 +40477,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -21051,8 +40544,28 @@ }, { "name": "clone_box", - "start_line": 82, - "end_line": 84, + "start_line": 83, + "end_line": 85, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 88, + "end_line": 90, "parameters": [ "&self" ], @@ -21071,26 +40584,6 @@ }, { "name": "box_id", - "start_line": 90, - "end_line": 92, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "parent_type_id", "start_line": 94, "end_line": 96, "parameters": [ @@ -21110,9 +40603,29 @@ } }, { - "name": "fmt_box", + "name": "parent_type_id", "start_line": 98, "end_line": 100, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 102, + "end_line": 104, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -21132,8 +40645,8 @@ }, { "name": "as_any", - "start_line": 102, - "end_line": 104, + "start_line": 106, + "end_line": 108, "parameters": [ "&self" ], @@ -21152,8 +40665,8 @@ }, { "name": "as_any_mut", - "start_line": 106, - "end_line": 108, + "start_line": 110, + "end_line": 112, "parameters": [ "&mut self" ], @@ -21172,8 +40685,8 @@ }, { "name": "fmt", - "start_line": 112, - "end_line": 114, + "start_line": 116, + "end_line": 118, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -21240,7 +40753,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 12, + "function_count": 13, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -21361,7 +40874,7 @@ "name": "IntegerBox", "full_name": "", "start_line": 64, - "end_line": 87, + "end_line": 91, "start_column": 0, "end_column": 0, "depth": 1, @@ -21444,8 +40957,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 82, - "end_line": 84, + "start_line": 83, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 88, + "end_line": 90, "start_column": 0, "end_column": 0, "depth": 3, @@ -21458,8 +40985,8 @@ "type": "class", "name": "IntegerBox", "full_name": "", - "start_line": 89, - "end_line": 109, + "start_line": 93, + "end_line": 113, "start_column": 0, "end_column": 0, "depth": 1, @@ -21472,20 +40999,6 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 90, - "end_line": 92, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parent_type_id", - "full_name": "", "start_line": 94, "end_line": 96, "start_column": 0, @@ -21498,7 +41011,7 @@ }, { "type": "function", - "name": "fmt_box", + "name": "parent_type_id", "full_name": "", "start_line": 98, "end_line": 100, @@ -21512,7 +41025,7 @@ }, { "type": "function", - "name": "as_any", + "name": "fmt_box", "full_name": "", "start_line": 102, "end_line": 104, @@ -21526,7 +41039,7 @@ }, { "type": "function", - "name": "as_any_mut", + "name": "as_any", "full_name": "", "start_line": 106, "end_line": 108, @@ -21538,12 +41051,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 110, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "IntegerBox", "full_name": "", - "start_line": 111, - "end_line": 115, + "start_line": 115, + "end_line": 119, "start_column": 0, "end_column": 0, "depth": 1, @@ -21556,8 +41083,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 112, - "end_line": 114, + "start_line": 116, + "end_line": 118, "start_column": 0, "end_column": 0, "depth": 3, @@ -21571,40 +41098,40 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 23, + "total_nodes": 24, "max_depth": 6, "node_type_counts": { - "import": 4, - "file_root": 1, - "function": 12, + "class": 5, "if_statement": 1, - "class": 5 + "import": 4, + "function": 13, + "file_root": 1 }, "classes": 5, - "functions": 12, + "functions": 13, "methods": 0, "variables": 0, "control_structures": 1 }, - "generated_at": "2025-08-13T11:36:21.738942934Z" + "generated_at": "2025-08-15T16:17:53.917776972Z" }, { "file_info": { "name": "intent_box.rs", "path": "src/boxes/intent_box.rs", "size_bytes": 0, - "total_lines": 133, - "code_lines": 74, - "comment_lines": 41, - "empty_lines": 18, - "code_ratio": 0.556390977443609, - "analyzed_at": "2025-08-13T11:36:21.738952892Z", + "total_lines": 154, + "code_lines": 92, + "comment_lines": 42, + "empty_lines": 20, + "code_ratio": 0.5974025974025974, + "analyzed_at": "2025-08-15T16:17:53.914330251Z", "metadata": {} }, "language": "rust", "classes": [ { - "name": "IntentBoxData", + "name": "IntentBox", "parent_class": null, "start_line": 42, "end_line": 48, @@ -21617,10 +41144,23 @@ } }, { - "name": "IntentBoxData", + "name": "IntentBox", "parent_class": null, - "start_line": 53, - "end_line": 77, + "start_line": 50, + "end_line": 61, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "IntentBox", + "parent_class": null, + "start_line": 63, + "end_line": 96, "methods": [], "properties": [], "member_variables": [], @@ -21631,8 +41171,8 @@ { "name": "IntentBox", "parent_class": null, - "start_line": 79, - "end_line": 103, + "start_line": 98, + "end_line": 124, "methods": [], "properties": [], "member_variables": [], @@ -21644,35 +41184,55 @@ { "name": "IntentBox", "parent_class": null, - "start_line": 105, - "end_line": 126, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "BoxCore", - "type": "impl" - } - }, - { - "name": "IntentBoxData", - "parent_class": null, - "start_line": 128, - "end_line": 132, + "start_line": 126, + "end_line": 147, "methods": [], "properties": [], "member_variables": [], "metadata": { "type": "impl", - "implementing_trait": "std::fmt::Display" + "implementing_trait": "BoxCore" + } + }, + { + "name": "IntentBox", + "parent_class": null, + "start_line": 149, + "end_line": 153, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" } } ], "functions": [ + { + "name": "clone", + "start_line": 51, + "end_line": 60, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "new", - "start_line": 55, - "end_line": 61, + "start_line": 65, + "end_line": 71, "parameters": [ "name: String", "payload" @@ -21687,14 +41247,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "get_name", - "start_line": 64, - "end_line": 66, + "start_line": 74, + "end_line": 77, "parameters": [ "&self" ], @@ -21714,8 +41274,8 @@ }, { "name": "get_payload", - "start_line": 69, - "end_line": 71, + "start_line": 80, + "end_line": 83, "parameters": [ "&self" ], @@ -21735,10 +41295,10 @@ }, { "name": "set_payload", - "start_line": 74, - "end_line": 76, + "start_line": 86, + "end_line": 95, "parameters": [ - "&mut self", + "&self", "payload" ], "is_async": false, @@ -21751,14 +41311,54 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone_box", + "start_line": 99, + "end_line": 101, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 104, + "end_line": 106, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { "type": "function" } }, { "name": "to_string_box", - "start_line": 80, - "end_line": 83, + "start_line": 108, + "end_line": 111, "parameters": [ "&self" ], @@ -21777,8 +41377,8 @@ }, { "name": "equals", - "start_line": 85, - "end_line": 93, + "start_line": 113, + "end_line": 119, "parameters": [ "&self", "other: &dyn NyashBox" @@ -21798,28 +41398,8 @@ }, { "name": "type_name", - "start_line": 95, - "end_line": 97, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "clone_box", - "start_line": 99, - "end_line": 102, + "start_line": 121, + "end_line": 123, "parameters": [ "&self" ], @@ -21838,8 +41418,8 @@ }, { "name": "box_id", - "start_line": 106, - "end_line": 108, + "start_line": 127, + "end_line": 129, "parameters": [ "&self" ], @@ -21858,8 +41438,8 @@ }, { "name": "parent_type_id", - "start_line": 110, - "end_line": 112, + "start_line": 131, + "end_line": 133, "parameters": [ "&self" ], @@ -21878,8 +41458,8 @@ }, { "name": "fmt_box", - "start_line": 114, - "end_line": 117, + "start_line": 135, + "end_line": 138, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -21899,8 +41479,8 @@ }, { "name": "as_any", - "start_line": 119, - "end_line": 121, + "start_line": 140, + "end_line": 142, "parameters": [ "&self" ], @@ -21919,8 +41499,8 @@ }, { "name": "as_any_mut", - "start_line": 123, - "end_line": 125, + "start_line": 144, + "end_line": 146, "parameters": [ "&mut self" ], @@ -21939,8 +41519,8 @@ }, { "name": "fmt", - "start_line": 129, - "end_line": 131, + "start_line": 150, + "end_line": 152, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -21978,7 +41558,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::RwLock", "imported_names": [], "alias": null, "line_number": 37, @@ -22006,8 +41586,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 5, - "function_count": 14, + "class_count": 6, + "function_count": 16, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -22083,7 +41663,7 @@ }, { "type": "class", - "name": "IntentBoxData", + "name": "IntentBox", "full_name": "", "start_line": 42, "end_line": 48, @@ -22097,10 +41677,66 @@ }, { "type": "class", - "name": "IntentBoxData", + "name": "IntentBox", + "full_name": "", + "start_line": 50, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 51, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", "full_name": "", "start_line": 53, - "end_line": 77, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntentBox", + "full_name": "", + "start_line": 63, + "end_line": 96, "start_column": 0, "end_column": 0, "depth": 1, @@ -22113,8 +41749,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 55, - "end_line": 61, + "start_line": 65, + "end_line": 71, "start_column": 0, "end_column": 0, "depth": 3, @@ -22127,8 +41763,8 @@ "type": "function", "name": "get_name", "full_name": "", - "start_line": 64, - "end_line": 66, + "start_line": 74, + "end_line": 77, "start_column": 0, "end_column": 0, "depth": 3, @@ -22137,52 +41773,24 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "get_payload", "full_name": "", - "start_line": 69, - "end_line": 71, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "set_payload", - "full_name": "", - "start_line": 74, - "end_line": 76, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "IntentBox", - "full_name": "", - "start_line": 79, - "end_line": 103, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "to_string_box", - "full_name": "", "start_line": 80, "end_line": 83, "start_column": 0, @@ -22209,10 +41817,10 @@ }, { "type": "function", - "name": "equals", + "name": "set_payload", "full_name": "", - "start_line": 85, - "end_line": 93, + "start_line": 86, + "end_line": 95, "start_column": 0, "end_column": 0, "depth": 3, @@ -22221,20 +41829,6 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 86, - "end_line": 92, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", @@ -22243,62 +41837,6 @@ "end_line": 87, "start_column": 0, "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 88, - "end_line": 88, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "type_name", - "full_name": "", - "start_line": 95, - "end_line": 97, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "clone_box", - "full_name": "", - "start_line": 99, - "end_line": 102, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 100, - "end_line": 100, - "start_column": 0, - "end_column": 0, "depth": 5, "scope_path": "", "children": [], @@ -22309,8 +41847,120 @@ "type": "class", "name": "IntentBox", "full_name": "", - "start_line": 105, - "end_line": 126, + "start_line": 98, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 99, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 104, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 108, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 113, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 121, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntentBox", + "full_name": "", + "start_line": 126, + "end_line": 147, "start_column": 0, "end_column": 0, "depth": 1, @@ -22323,8 +41973,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 106, - "end_line": 108, + "start_line": 127, + "end_line": 129, "start_column": 0, "end_column": 0, "depth": 3, @@ -22337,8 +41987,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 110, - "end_line": 112, + "start_line": 131, + "end_line": 133, "start_column": 0, "end_column": 0, "depth": 3, @@ -22351,8 +42001,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 114, - "end_line": 117, + "start_line": 135, + "end_line": 138, "start_column": 0, "end_column": 0, "depth": 3, @@ -22365,8 +42015,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 115, - "end_line": 115, + "start_line": 136, + "end_line": 136, "start_column": 0, "end_column": 0, "depth": 5, @@ -22379,8 +42029,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 119, - "end_line": 121, + "start_line": 140, + "end_line": 142, "start_column": 0, "end_column": 0, "depth": 3, @@ -22393,8 +42043,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 123, - "end_line": 125, + "start_line": 144, + "end_line": 146, "start_column": 0, "end_column": 0, "depth": 3, @@ -22405,10 +42055,10 @@ }, { "type": "class", - "name": "IntentBoxData", + "name": "IntentBox", "full_name": "", - "start_line": 128, - "end_line": 132, + "start_line": 149, + "end_line": 153, "start_column": 0, "end_column": 0, "depth": 1, @@ -22421,8 +42071,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 129, - "end_line": 131, + "start_line": 150, + "end_line": 152, "start_column": 0, "end_column": 0, "depth": 3, @@ -22436,35 +42086,35 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 30, - "max_depth": 8, + "total_nodes": 35, + "max_depth": 6, "node_type_counts": { - "function": 14, + "class": 6, + "variable": 7, + "function": 16, "if_statement": 1, - "import": 4, - "variable": 5, - "class": 5, - "file_root": 1 + "file_root": 1, + "import": 4 }, - "classes": 5, - "functions": 14, + "classes": 6, + "functions": 16, "methods": 0, - "variables": 5, + "variables": 7, "control_structures": 1 }, - "generated_at": "2025-08-13T11:36:21.738962871Z" + "generated_at": "2025-08-15T16:17:53.914339101Z" }, { "file_info": { "name": "mod.rs", "path": "src/boxes/json/mod.rs", "size_bytes": 0, - "total_lines": 262, - "code_lines": 209, - "comment_lines": 22, - "empty_lines": 31, - "code_ratio": 0.7977099236641222, - "analyzed_at": "2025-08-13T11:36:21.748407799Z", + "total_lines": 278, + "code_lines": 221, + "comment_lines": 23, + "empty_lines": 34, + "code_ratio": 0.7949640287769785, + "analyzed_at": "2025-08-15T16:17:53.929846305Z", "metadata": {} }, "language": "rust", @@ -22478,15 +42128,28 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { "name": "JSONBox", "parent_class": null, "start_line": 18, - "end_line": 120, + "end_line": 27, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "JSONBox", + "parent_class": null, + "start_line": 29, + "end_line": 131, "methods": [], "properties": [], "member_variables": [], @@ -22497,8 +42160,8 @@ { "name": "JSONBox", "parent_class": null, - "start_line": 122, - "end_line": 155, + "start_line": 133, + "end_line": 166, "methods": [], "properties": [], "member_variables": [], @@ -22510,8 +42173,8 @@ { "name": "JSONBox", "parent_class": null, - "start_line": 157, - "end_line": 161, + "start_line": 168, + "end_line": 172, "methods": [], "properties": [], "member_variables": [], @@ -22523,8 +42186,8 @@ { "name": "JSONBox", "parent_class": null, - "start_line": 163, - "end_line": 188, + "start_line": 174, + "end_line": 204, "methods": [], "properties": [], "member_variables": [], @@ -22536,9 +42199,29 @@ ], "functions": [ { - "name": "from_str", + "name": "clone", "start_line": 19, - "end_line": 25, + "end_line": 26, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "from_str", + "start_line": 30, + "end_line": 36, "parameters": [ "s: &str" ], @@ -22552,14 +42235,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "new", - "start_line": 27, - "end_line": 32, + "start_line": 38, + "end_line": 43, "parameters": [ "value: Value" ], @@ -22579,8 +42262,8 @@ }, { "name": "to_string", - "start_line": 34, - "end_line": 37, + "start_line": 45, + "end_line": 48, "parameters": [ "&self" ], @@ -22594,14 +42277,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "parse", - "start_line": 40, - "end_line": 46, + "start_line": 51, + "end_line": 57, "parameters": [ "data" ], @@ -22615,14 +42298,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "stringify", - "start_line": 49, - "end_line": 51, + "start_line": 60, + "end_line": 62, "parameters": [ "&self" ], @@ -22642,8 +42325,8 @@ }, { "name": "get", - "start_line": 54, - "end_line": 77, + "start_line": 65, + "end_line": 88, "parameters": [ "&self", "key" @@ -22664,8 +42347,8 @@ }, { "name": "set", - "start_line": 80, - "end_line": 92, + "start_line": 91, + "end_line": 103, "parameters": [ "&self", "key", @@ -22687,8 +42370,8 @@ }, { "name": "has", - "start_line": 95, - "end_line": 104, + "start_line": 106, + "end_line": 115, "parameters": [ "&self", "key" @@ -22709,8 +42392,8 @@ }, { "name": "keys", - "start_line": 107, - "end_line": 119, + "start_line": 118, + "end_line": 130, "parameters": [ "&self" ], @@ -22724,14 +42407,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "box_id", - "start_line": 123, - "end_line": 125, + "start_line": 134, + "end_line": 136, "parameters": [ "&self" ], @@ -22750,8 +42433,8 @@ }, { "name": "parent_type_id", - "start_line": 127, - "end_line": 129, + "start_line": 138, + "end_line": 140, "parameters": [ "&self" ], @@ -22770,8 +42453,8 @@ }, { "name": "fmt_box", - "start_line": 131, - "end_line": 146, + "start_line": 142, + "end_line": 157, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -22791,8 +42474,8 @@ }, { "name": "as_any", - "start_line": 148, - "end_line": 150, + "start_line": 159, + "end_line": 161, "parameters": [ "&self" ], @@ -22811,8 +42494,8 @@ }, { "name": "as_any_mut", - "start_line": 152, - "end_line": 154, + "start_line": 163, + "end_line": 165, "parameters": [ "&mut self" ], @@ -22831,8 +42514,8 @@ }, { "name": "fmt", - "start_line": 158, - "end_line": 160, + "start_line": 169, + "end_line": 171, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -22852,8 +42535,28 @@ }, { "name": "clone_box", - "start_line": 164, - "end_line": 166, + "start_line": 175, + "end_line": 177, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 180, + "end_line": 182, "parameters": [ "&self" ], @@ -22872,8 +42575,8 @@ }, { "name": "to_string_box", - "start_line": 168, - "end_line": 171, + "start_line": 184, + "end_line": 187, "parameters": [ "&self" ], @@ -22892,8 +42595,8 @@ }, { "name": "type_name", - "start_line": 174, - "end_line": 176, + "start_line": 190, + "end_line": 192, "parameters": [ "&self" ], @@ -22912,8 +42615,8 @@ }, { "name": "equals", - "start_line": 179, - "end_line": 187, + "start_line": 195, + "end_line": 203, "parameters": [ "&self", "other: &dyn NyashBox" @@ -22933,8 +42636,8 @@ }, { "name": "json_value_to_nyash_box", - "start_line": 191, - "end_line": 225, + "start_line": 207, + "end_line": 241, "parameters": [ "value: &Value" ], @@ -22953,8 +42656,8 @@ }, { "name": "nyash_box_to_json_value", - "start_line": 228, - "end_line": 262, + "start_line": 244, + "end_line": 278, "parameters": [ "value" ], @@ -22973,8 +42676,8 @@ }, { "name": "closure", - "start_line": 247, - "end_line": 247, + "start_line": 263, + "end_line": 263, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -23025,7 +42728,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::RwLock", "imported_names": [], "alias": null, "line_number": 9, @@ -23053,8 +42756,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 5, - "function_count": 22, + "class_count": 6, + "function_count": 24, "import_count": 6, "export_count": 0, "unique_calls": 0, @@ -23175,7 +42878,7 @@ "name": "JSONBox", "full_name": "", "start_line": 18, - "end_line": 120, + "end_line": 27, "start_column": 0, "end_column": 0, "depth": 1, @@ -23186,10 +42889,10 @@ }, { "type": "function", - "name": "from_str", + "name": "clone", "full_name": "", "start_line": 19, - "end_line": 25, + "end_line": 26, "start_column": 0, "end_column": 0, "depth": 3, @@ -23212,12 +42915,54 @@ "attributes": {}, "source_text": null }, + { + "type": "class", + "name": "JSONBox", + "full_name": "", + "start_line": 29, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_str", + "full_name": "", + "start_line": 30, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 31, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "new", "full_name": "", - "start_line": 27, - "end_line": 32, + "start_line": 38, + "end_line": 43, "start_column": 0, "end_column": 0, "depth": 3, @@ -23230,8 +42975,8 @@ "type": "function", "name": "to_string", "full_name": "", - "start_line": 34, - "end_line": 37, + "start_line": 45, + "end_line": 48, "start_column": 0, "end_column": 0, "depth": 3, @@ -23244,8 +42989,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 35, - "end_line": 35, + "start_line": 46, + "end_line": 46, "start_column": 0, "end_column": 0, "depth": 5, @@ -23258,8 +43003,8 @@ "type": "function", "name": "parse", "full_name": "", - "start_line": 40, - "end_line": 46, + "start_line": 51, + "end_line": 57, "start_column": 0, "end_column": 0, "depth": 3, @@ -23272,8 +43017,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 41, - "end_line": 41, + "start_line": 52, + "end_line": 52, "start_column": 0, "end_column": 0, "depth": 5, @@ -23286,8 +43031,8 @@ "type": "function", "name": "stringify", "full_name": "", - "start_line": 49, - "end_line": 51, + "start_line": 60, + "end_line": 62, "start_column": 0, "end_column": 0, "depth": 3, @@ -23300,8 +43045,8 @@ "type": "function", "name": "get", "full_name": "", - "start_line": 54, - "end_line": 77, + "start_line": 65, + "end_line": 88, "start_column": 0, "end_column": 0, "depth": 3, @@ -23314,8 +43059,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 55, - "end_line": 55, + "start_line": 66, + "end_line": 66, "start_column": 0, "end_column": 0, "depth": 5, @@ -23328,8 +43073,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 56, - "end_line": 56, + "start_line": 67, + "end_line": 67, "start_column": 0, "end_column": 0, "depth": 5, @@ -23342,8 +43087,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 58, - "end_line": 76, + "start_line": 69, + "end_line": 87, "start_column": 0, "end_column": 0, "depth": 6, @@ -23356,8 +43101,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 59, - "end_line": 63, + "start_line": 70, + "end_line": 74, "start_column": 0, "end_column": 0, "depth": 9, @@ -23370,8 +43115,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 64, - "end_line": 76, + "start_line": 75, + "end_line": 87, "start_column": 0, "end_column": 0, "depth": 8, @@ -23384,8 +43129,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 65, - "end_line": 73, + "start_line": 76, + "end_line": 84, "start_column": 0, "end_column": 0, "depth": 11, @@ -23398,8 +43143,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 66, - "end_line": 70, + "start_line": 77, + "end_line": 81, "start_column": 0, "end_column": 0, "depth": 14, @@ -23412,8 +43157,8 @@ "type": "function", "name": "set", "full_name": "", - "start_line": 80, - "end_line": 92, + "start_line": 91, + "end_line": 103, "start_column": 0, "end_column": 0, "depth": 3, @@ -23426,8 +43171,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 81, - "end_line": 81, + "start_line": 92, + "end_line": 92, "start_column": 0, "end_column": 0, "depth": 5, @@ -23440,8 +43185,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 82, - "end_line": 82, + "start_line": 93, + "end_line": 93, "start_column": 0, "end_column": 0, "depth": 5, @@ -23454,8 +43199,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 84, - "end_line": 84, + "start_line": 95, + "end_line": 95, "start_column": 0, "end_column": 0, "depth": 5, @@ -23468,8 +43213,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 86, - "end_line": 91, + "start_line": 97, + "end_line": 102, "start_column": 0, "end_column": 0, "depth": 6, @@ -23482,8 +43227,8 @@ "type": "function", "name": "has", "full_name": "", - "start_line": 95, - "end_line": 104, + "start_line": 106, + "end_line": 115, "start_column": 0, "end_column": 0, "depth": 3, @@ -23496,53 +43241,11 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 96, - "end_line": 96, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 97, - "end_line": 97, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 99, - "end_line": 103, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "keys", - "full_name": "", "start_line": 107, - "end_line": 119, + "end_line": 107, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -23562,12 +43265,54 @@ "attributes": {}, "source_text": null }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 110, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "keys", + "full_name": "", + "start_line": 118, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", "full_name": "", - "start_line": 109, - "end_line": 109, + "start_line": 119, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 120, + "end_line": 120, "start_column": 0, "end_column": 0, "depth": 5, @@ -23580,8 +43325,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 111, - "end_line": 116, + "start_line": 122, + "end_line": 127, "start_column": 0, "end_column": 0, "depth": 6, @@ -23594,8 +43339,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 112, - "end_line": 115, + "start_line": 123, + "end_line": 126, "start_column": 0, "end_column": 0, "depth": 9, @@ -23608,8 +43353,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 114, - "end_line": 114, + "start_line": 125, + "end_line": 125, "start_column": 0, "end_column": 0, "depth": 11, @@ -23622,8 +43367,8 @@ "type": "class", "name": "JSONBox", "full_name": "", - "start_line": 122, - "end_line": 155, + "start_line": 133, + "end_line": 166, "start_column": 0, "end_column": 0, "depth": 1, @@ -23636,8 +43381,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 123, - "end_line": 125, + "start_line": 134, + "end_line": 136, "start_column": 0, "end_column": 0, "depth": 3, @@ -23650,8 +43395,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 127, - "end_line": 129, + "start_line": 138, + "end_line": 140, "start_column": 0, "end_column": 0, "depth": 3, @@ -23664,8 +43409,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 131, - "end_line": 146, + "start_line": 142, + "end_line": 157, "start_column": 0, "end_column": 0, "depth": 3, @@ -23678,8 +43423,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 132, - "end_line": 132, + "start_line": 143, + "end_line": 143, "start_column": 0, "end_column": 0, "depth": 5, @@ -23692,8 +43437,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 133, - "end_line": 144, + "start_line": 144, + "end_line": 155, "start_column": 0, "end_column": 0, "depth": 5, @@ -23706,8 +43451,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 148, - "end_line": 150, + "start_line": 159, + "end_line": 161, "start_column": 0, "end_column": 0, "depth": 3, @@ -23720,8 +43465,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 152, - "end_line": 154, + "start_line": 163, + "end_line": 165, "start_column": 0, "end_column": 0, "depth": 3, @@ -23734,8 +43479,8 @@ "type": "class", "name": "JSONBox", "full_name": "", - "start_line": 157, - "end_line": 161, + "start_line": 168, + "end_line": 172, "start_column": 0, "end_column": 0, "depth": 1, @@ -23748,8 +43493,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 158, - "end_line": 160, + "start_line": 169, + "end_line": 171, "start_column": 0, "end_column": 0, "depth": 3, @@ -23762,8 +43507,8 @@ "type": "class", "name": "JSONBox", "full_name": "", - "start_line": 163, - "end_line": 188, + "start_line": 174, + "end_line": 204, "start_column": 0, "end_column": 0, "depth": 1, @@ -23776,8 +43521,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 164, - "end_line": 166, + "start_line": 175, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 180, + "end_line": 182, "start_column": 0, "end_column": 0, "depth": 3, @@ -23790,8 +43549,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 168, - "end_line": 171, + "start_line": 184, + "end_line": 187, "start_column": 0, "end_column": 0, "depth": 3, @@ -23804,8 +43563,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 169, - "end_line": 169, + "start_line": 185, + "end_line": 185, "start_column": 0, "end_column": 0, "depth": 5, @@ -23818,8 +43577,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 174, - "end_line": 176, + "start_line": 190, + "end_line": 192, "start_column": 0, "end_column": 0, "depth": 3, @@ -23832,8 +43591,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 179, - "end_line": 187, + "start_line": 195, + "end_line": 203, "start_column": 0, "end_column": 0, "depth": 3, @@ -23846,8 +43605,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 180, - "end_line": 186, + "start_line": 196, + "end_line": 202, "start_column": 0, "end_column": 0, "depth": 6, @@ -23860,8 +43619,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 181, - "end_line": 181, + "start_line": 197, + "end_line": 197, "start_column": 0, "end_column": 0, "depth": 8, @@ -23874,8 +43633,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 182, - "end_line": 182, + "start_line": 198, + "end_line": 198, "start_column": 0, "end_column": 0, "depth": 8, @@ -23888,8 +43647,8 @@ "type": "function", "name": "json_value_to_nyash_box", "full_name": "", - "start_line": 191, - "end_line": 225, + "start_line": 207, + "end_line": 241, "start_column": 0, "end_column": 0, "depth": 1, @@ -23902,8 +43661,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 196, - "end_line": 204, + "start_line": 212, + "end_line": 220, "start_column": 0, "end_column": 0, "depth": 9, @@ -23916,8 +43675,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 198, - "end_line": 204, + "start_line": 214, + "end_line": 220, "start_column": 0, "end_column": 0, "depth": 11, @@ -23930,8 +43689,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 208, - "end_line": 208, + "start_line": 224, + "end_line": 224, "start_column": 0, "end_column": 0, "depth": 8, @@ -23944,8 +43703,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 209, - "end_line": 211, + "start_line": 225, + "end_line": 227, "start_column": 0, "end_column": 0, "depth": 9, @@ -23958,8 +43717,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 215, - "end_line": 215, + "start_line": 231, + "end_line": 231, "start_column": 0, "end_column": 0, "depth": 8, @@ -23972,8 +43731,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 216, - "end_line": 221, + "start_line": 232, + "end_line": 237, "start_column": 0, "end_column": 0, "depth": 9, @@ -23986,8 +43745,8 @@ "type": "function", "name": "nyash_box_to_json_value", "full_name": "", - "start_line": 228, - "end_line": 262, + "start_line": 244, + "end_line": 278, "start_column": 0, "end_column": 0, "depth": 1, @@ -24000,8 +43759,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 229, - "end_line": 261, + "start_line": 245, + "end_line": 277, "start_column": 0, "end_column": 0, "depth": 4, @@ -24014,8 +43773,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 231, - "end_line": 261, + "start_line": 247, + "end_line": 277, "start_column": 0, "end_column": 0, "depth": 6, @@ -24028,8 +43787,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 233, - "end_line": 261, + "start_line": 249, + "end_line": 277, "start_column": 0, "end_column": 0, "depth": 8, @@ -24042,8 +43801,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 242, - "end_line": 261, + "start_line": 258, + "end_line": 277, "start_column": 0, "end_column": 0, "depth": 10, @@ -24056,8 +43815,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 244, - "end_line": 261, + "start_line": 260, + "end_line": 277, "start_column": 0, "end_column": 0, "depth": 12, @@ -24070,8 +43829,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 245, - "end_line": 245, + "start_line": 261, + "end_line": 261, "start_column": 0, "end_column": 0, "depth": 14, @@ -24084,8 +43843,8 @@ "type": "variable", "name": "Vec", "full_name": "", - "start_line": 246, - "end_line": 248, + "start_line": 262, + "end_line": 264, "start_column": 0, "end_column": 0, "depth": 14, @@ -24098,8 +43857,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 250, - "end_line": 261, + "start_line": 266, + "end_line": 277, "start_column": 0, "end_column": 0, "depth": 14, @@ -24112,8 +43871,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 251, - "end_line": 251, + "start_line": 267, + "end_line": 267, "start_column": 0, "end_column": 0, "depth": 16, @@ -24126,8 +43885,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 252, - "end_line": 252, + "start_line": 268, + "end_line": 268, "start_column": 0, "end_column": 0, "depth": 16, @@ -24140,8 +43899,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 253, - "end_line": 253, + "start_line": 269, + "end_line": 269, "start_column": 0, "end_column": 0, "depth": 16, @@ -24154,8 +43913,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 254, - "end_line": 256, + "start_line": 270, + "end_line": 272, "start_column": 0, "end_column": 0, "depth": 17, @@ -24169,36 +43928,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 79, + "total_nodes": 83, "max_depth": 17, "node_type_counts": { - "file_root": 1, + "class": 6, "import": 6, - "class": 5, + "function": 23, "for_loop": 4, - "function": 21, - "variable": 25, + "file_root": 1, + "variable": 26, "if_statement": 17 }, - "classes": 5, - "functions": 21, + "classes": 6, + "functions": 23, "methods": 0, - "variables": 25, + "variables": 26, "control_structures": 21 }, - "generated_at": "2025-08-13T11:36:21.748442740Z" + "generated_at": "2025-08-15T16:17:53.929862490Z" }, { "file_info": { "name": "map_box.rs", "path": "src/boxes/map_box.rs", "size_bytes": 0, - "total_lines": 289, - "code_lines": 142, - "comment_lines": 119, - "empty_lines": 28, - "code_ratio": 0.4913494809688581, - "analyzed_at": "2025-08-13T11:36:21.738966102Z", + "total_lines": 313, + "code_lines": 160, + "comment_lines": 122, + "empty_lines": 31, + "code_ratio": 0.5111821086261981, + "analyzed_at": "2025-08-15T16:17:53.913934336Z", "metadata": {} }, "language": "rust", @@ -24206,21 +43965,21 @@ { "name": "MapBox", "parent_class": null, - "start_line": 115, - "end_line": 118, + "start_line": 114, + "end_line": 117, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { "name": "MapBox", "parent_class": null, - "start_line": 120, - "end_line": 224, + "start_line": 119, + "end_line": 223, "methods": [], "properties": [], "member_variables": [], @@ -24232,33 +43991,46 @@ "name": "MapBox", "parent_class": null, "start_line": 226, - "end_line": 247, + "end_line": 238, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" - } - }, - { - "name": "MapBox", - "parent_class": null, - "start_line": 249, - "end_line": 272, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "NyashBox", + "implementing_trait": "Clone", "type": "impl" } }, { "name": "MapBox", "parent_class": null, - "start_line": 274, - "end_line": 278, + "start_line": 240, + "end_line": 261, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "MapBox", + "parent_class": null, + "start_line": 263, + "end_line": 296, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "MapBox", + "parent_class": null, + "start_line": 298, + "end_line": 302, "methods": [], "properties": [], "member_variables": [], @@ -24270,22 +44042,22 @@ { "name": "MapBox", "parent_class": null, - "start_line": 280, - "end_line": 289, + "start_line": 304, + "end_line": 313, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "Debug" + "implementing_trait": "Debug", + "type": "impl" } } ], "functions": [ { "name": "new", - "start_line": 121, - "end_line": 126, + "start_line": 120, + "end_line": 125, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -24303,8 +44075,8 @@ }, { "name": "set", - "start_line": 129, - "end_line": 133, + "start_line": 128, + "end_line": 132, "parameters": [ "&self", "key", @@ -24320,14 +44092,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "get", - "start_line": 136, - "end_line": 142, + "start_line": 135, + "end_line": 141, "parameters": [ "&self", "key" @@ -24342,14 +44114,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "has", - "start_line": 145, - "end_line": 148, + "start_line": 144, + "end_line": 147, "parameters": [ "&self", "key" @@ -24370,8 +44142,8 @@ }, { "name": "delete", - "start_line": 151, - "end_line": 157, + "start_line": 150, + "end_line": 156, "parameters": [ "&self", "key" @@ -24392,8 +44164,8 @@ }, { "name": "keys", - "start_line": 160, - "end_line": 167, + "start_line": 159, + "end_line": 166, "parameters": [ "&self" ], @@ -24413,8 +44185,8 @@ }, { "name": "values", - "start_line": 170, - "end_line": 180, + "start_line": 169, + "end_line": 179, "parameters": [ "&self" ], @@ -24434,8 +44206,8 @@ }, { "name": "closure", - "start_line": 173, - "end_line": 173, + "start_line": 172, + "end_line": 172, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -24452,8 +44224,8 @@ }, { "name": "size", - "start_line": 183, - "end_line": 185, + "start_line": 182, + "end_line": 184, "parameters": [ "&self" ], @@ -24467,14 +44239,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "clear", - "start_line": 188, - "end_line": 191, + "start_line": 187, + "end_line": 190, "parameters": [ "&self" ], @@ -24488,14 +44260,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "forEach", - "start_line": 194, - "end_line": 198, + "start_line": 193, + "end_line": 197, "parameters": [ "&self", "_callback" @@ -24509,15 +44281,36 @@ "rating": "simple", "rating_emoji": "🟢" }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "toJSON", + "start_line": 200, + "end_line": 217, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, "metadata": { "modifiers": "pub", "type": "function" } }, { - "name": "toJSON", - "start_line": 201, - "end_line": 218, + "name": "get_data", + "start_line": 220, + "end_line": 222, "parameters": [ "&self" ], @@ -24536,9 +44329,9 @@ } }, { - "name": "get_data", - "start_line": 221, - "end_line": 223, + "name": "clone", + "start_line": 227, + "end_line": 237, "parameters": [ "&self" ], @@ -24552,14 +44345,31 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "type": "function" + } + }, + { + "name": "closure", + "start_line": 231, + "end_line": 231, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" } }, { "name": "box_id", - "start_line": 227, - "end_line": 229, + "start_line": 241, + "end_line": 243, "parameters": [ "&self" ], @@ -24578,8 +44388,8 @@ }, { "name": "parent_type_id", - "start_line": 231, - "end_line": 233, + "start_line": 245, + "end_line": 247, "parameters": [ "&self" ], @@ -24598,8 +44408,8 @@ }, { "name": "fmt_box", - "start_line": 235, - "end_line": 238, + "start_line": 249, + "end_line": 252, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -24619,8 +44429,8 @@ }, { "name": "as_any", - "start_line": 240, - "end_line": 242, + "start_line": 254, + "end_line": 256, "parameters": [ "&self" ], @@ -24639,8 +44449,8 @@ }, { "name": "as_any_mut", - "start_line": 244, - "end_line": 246, + "start_line": 258, + "end_line": 260, "parameters": [ "&mut self" ], @@ -24659,8 +44469,8 @@ }, { "name": "type_name", - "start_line": 250, - "end_line": 252, + "start_line": 264, + "end_line": 266, "parameters": [ "&self" ], @@ -24679,8 +44489,8 @@ }, { "name": "to_string_box", - "start_line": 254, - "end_line": 257, + "start_line": 268, + "end_line": 271, "parameters": [ "&self" ], @@ -24699,8 +44509,28 @@ }, { "name": "clone_box", - "start_line": 259, - "end_line": 261, + "start_line": 274, + "end_line": 276, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 279, + "end_line": 285, "parameters": [ "&self" ], @@ -24719,8 +44549,8 @@ }, { "name": "equals", - "start_line": 263, - "end_line": 270, + "start_line": 287, + "end_line": 294, "parameters": [ "&self", "other: &dyn NyashBox" @@ -24740,8 +44570,8 @@ }, { "name": "fmt", - "start_line": 275, - "end_line": 277, + "start_line": 299, + "end_line": 301, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -24761,8 +44591,8 @@ }, { "name": "fmt", - "start_line": 281, - "end_line": 288, + "start_line": 305, + "end_line": 312, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -24824,7 +44654,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::{Arc, RwLock}", "imported_names": [], "alias": null, "line_number": 111, @@ -24844,8 +44674,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 6, - "function_count": 24, + "class_count": 7, + "function_count": 27, "import_count": 6, "export_count": 0, "unique_calls": 0, @@ -24951,8 +44781,8 @@ "type": "class", "name": "MapBox", "full_name": "", - "start_line": 115, - "end_line": 118, + "start_line": 114, + "end_line": 117, "start_column": 0, "end_column": 0, "depth": 1, @@ -24965,8 +44795,8 @@ "type": "class", "name": "MapBox", "full_name": "", - "start_line": 120, - "end_line": 224, + "start_line": 119, + "end_line": 223, "start_column": 0, "end_column": 0, "depth": 1, @@ -24979,8 +44809,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 121, - "end_line": 126, + "start_line": 120, + "end_line": 125, "start_column": 0, "end_column": 0, "depth": 3, @@ -24993,8 +44823,8 @@ "type": "function", "name": "set", "full_name": "", - "start_line": 129, - "end_line": 133, + "start_line": 128, + "end_line": 132, "start_column": 0, "end_column": 0, "depth": 3, @@ -25007,8 +44837,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 130, - "end_line": 130, + "start_line": 129, + "end_line": 129, "start_column": 0, "end_column": 0, "depth": 5, @@ -25021,8 +44851,8 @@ "type": "function", "name": "get", "full_name": "", - "start_line": 136, - "end_line": 142, + "start_line": 135, + "end_line": 141, "start_column": 0, "end_column": 0, "depth": 3, @@ -25035,8 +44865,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 137, - "end_line": 137, + "start_line": 136, + "end_line": 136, "start_column": 0, "end_column": 0, "depth": 5, @@ -25049,8 +44879,8 @@ "type": "function", "name": "has", "full_name": "", - "start_line": 145, - "end_line": 148, + "start_line": 144, + "end_line": 147, "start_column": 0, "end_column": 0, "depth": 3, @@ -25063,8 +44893,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 146, - "end_line": 146, + "start_line": 145, + "end_line": 145, "start_column": 0, "end_column": 0, "depth": 5, @@ -25077,8 +44907,8 @@ "type": "function", "name": "delete", "full_name": "", - "start_line": 151, - "end_line": 157, + "start_line": 150, + "end_line": 156, "start_column": 0, "end_column": 0, "depth": 3, @@ -25091,8 +44921,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 152, - "end_line": 152, + "start_line": 151, + "end_line": 151, "start_column": 0, "end_column": 0, "depth": 5, @@ -25105,8 +44935,8 @@ "type": "function", "name": "keys", "full_name": "", - "start_line": 160, - "end_line": 167, + "start_line": 159, + "end_line": 166, "start_column": 0, "end_column": 0, "depth": 3, @@ -25119,8 +44949,8 @@ "type": "variable", "name": "Vec", "full_name": "", - "start_line": 161, - "end_line": 161, + "start_line": 160, + "end_line": 160, "start_column": 0, "end_column": 0, "depth": 5, @@ -25133,8 +44963,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 162, - "end_line": 162, + "start_line": 161, + "end_line": 161, "start_column": 0, "end_column": 0, "depth": 5, @@ -25147,8 +44977,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 163, - "end_line": 165, + "start_line": 162, + "end_line": 164, "start_column": 0, "end_column": 0, "depth": 6, @@ -25161,8 +44991,8 @@ "type": "function", "name": "values", "full_name": "", - "start_line": 170, - "end_line": 180, + "start_line": 169, + "end_line": 179, "start_column": 0, "end_column": 0, "depth": 3, @@ -25175,8 +45005,8 @@ "type": "variable", "name": "Vec>", "full_name": "", - "start_line": 171, - "end_line": 174, + "start_line": 170, + "end_line": 173, "start_column": 0, "end_column": 0, "depth": 5, @@ -25189,8 +45019,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 175, - "end_line": 175, + "start_line": 174, + "end_line": 174, "start_column": 0, "end_column": 0, "depth": 5, @@ -25203,8 +45033,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 176, - "end_line": 178, + "start_line": 175, + "end_line": 177, "start_column": 0, "end_column": 0, "depth": 6, @@ -25217,8 +45047,8 @@ "type": "function", "name": "size", "full_name": "", - "start_line": 183, - "end_line": 185, + "start_line": 182, + "end_line": 184, "start_column": 0, "end_column": 0, "depth": 3, @@ -25231,8 +45061,8 @@ "type": "function", "name": "clear", "full_name": "", - "start_line": 188, - "end_line": 191, + "start_line": 187, + "end_line": 190, "start_column": 0, "end_column": 0, "depth": 3, @@ -25245,8 +45075,8 @@ "type": "function", "name": "forEach", "full_name": "", - "start_line": 194, - "end_line": 198, + "start_line": 193, + "end_line": 197, "start_column": 0, "end_column": 0, "depth": 3, @@ -25259,8 +45089,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 196, - "end_line": 196, + "start_line": 195, + "end_line": 195, "start_column": 0, "end_column": 0, "depth": 5, @@ -25273,8 +45103,8 @@ "type": "function", "name": "toJSON", "full_name": "", - "start_line": 201, - "end_line": 218, + "start_line": 200, + "end_line": 217, "start_column": 0, "end_column": 0, "depth": 3, @@ -25283,6 +45113,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -25297,26 +45141,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 203, - "end_line": 203, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "for_loop", "name": "", "full_name": "", - "start_line": 205, - "end_line": 215, + "start_line": 204, + "end_line": 214, "start_column": 0, "end_column": 0, "depth": 6, @@ -25329,8 +45159,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 206, - "end_line": 206, + "start_line": 205, + "end_line": 205, "start_column": 0, "end_column": 0, "depth": 8, @@ -25343,8 +45173,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 208, - "end_line": 213, + "start_line": 207, + "end_line": 212, "start_column": 0, "end_column": 0, "depth": 8, @@ -25357,8 +45187,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 208, - "end_line": 213, + "start_line": 207, + "end_line": 212, "start_column": 0, "end_column": 0, "depth": 9, @@ -25371,8 +45201,8 @@ "type": "function", "name": "get_data", "full_name": "", - "start_line": 221, - "end_line": 223, + "start_line": 220, + "end_line": 222, "start_column": 0, "end_column": 0, "depth": 3, @@ -25386,7 +45216,63 @@ "name": "MapBox", "full_name": "", "start_line": 226, - "end_line": 247, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 227, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap>", + "full_name": "", + "start_line": 230, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MapBox", + "full_name": "", + "start_line": 240, + "end_line": 261, "start_column": 0, "end_column": 0, "depth": 1, @@ -25399,8 +45285,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 227, - "end_line": 229, + "start_line": 241, + "end_line": 243, "start_column": 0, "end_column": 0, "depth": 3, @@ -25413,8 +45299,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 231, - "end_line": 233, + "start_line": 245, + "end_line": 247, "start_column": 0, "end_column": 0, "depth": 3, @@ -25427,8 +45313,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 235, - "end_line": 238, + "start_line": 249, + "end_line": 252, "start_column": 0, "end_column": 0, "depth": 3, @@ -25441,8 +45327,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 236, - "end_line": 236, + "start_line": 250, + "end_line": 250, "start_column": 0, "end_column": 0, "depth": 5, @@ -25455,8 +45341,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 240, - "end_line": 242, + "start_line": 254, + "end_line": 256, "start_column": 0, "end_column": 0, "depth": 3, @@ -25469,8 +45355,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 244, - "end_line": 246, + "start_line": 258, + "end_line": 260, "start_column": 0, "end_column": 0, "depth": 3, @@ -25483,8 +45369,8 @@ "type": "class", "name": "MapBox", "full_name": "", - "start_line": 249, - "end_line": 272, + "start_line": 263, + "end_line": 296, "start_column": 0, "end_column": 0, "depth": 1, @@ -25497,8 +45383,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 250, - "end_line": 252, + "start_line": 264, + "end_line": 266, "start_column": 0, "end_column": 0, "depth": 3, @@ -25511,8 +45397,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 254, - "end_line": 257, + "start_line": 268, + "end_line": 271, "start_column": 0, "end_column": 0, "depth": 3, @@ -25525,8 +45411,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 255, - "end_line": 255, + "start_line": 269, + "end_line": 269, "start_column": 0, "end_column": 0, "depth": 5, @@ -25539,64 +45425,8 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 259, - "end_line": 261, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "equals", - "full_name": "", - "start_line": 263, - "end_line": 270, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 264, - "end_line": 269, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "MapBox", - "full_name": "", "start_line": 274, - "end_line": 278, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt", - "full_name": "", - "start_line": 275, - "end_line": 277, + "end_line": 276, "start_column": 0, "end_column": 0, "depth": 3, @@ -25605,26 +45435,12 @@ "attributes": {}, "source_text": null }, - { - "type": "class", - "name": "MapBox", - "full_name": "", - "start_line": 280, - "end_line": 289, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", - "name": "fmt", + "name": "share_box", "full_name": "", - "start_line": 281, - "end_line": 288, + "start_line": 279, + "end_line": 285, "start_column": 0, "end_column": 0, "depth": 3, @@ -25637,8 +45453,106 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 282, - "end_line": 282, + "start_line": 280, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 287, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 288, + "end_line": 293, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MapBox", + "full_name": "", + "start_line": 298, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 299, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MapBox", + "full_name": "", + "start_line": 304, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 305, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 306, + "end_line": 306, "start_column": 0, "end_column": 0, "depth": 5, @@ -25652,36 +45566,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 57, + "total_nodes": 63, "max_depth": 9, "node_type_counts": { - "function": 23, "if_statement": 2, "file_root": 1, - "variable": 16, + "function": 25, + "class": 7, "for_loop": 3, - "class": 6, - "import": 6 + "import": 6, + "variable": 19 }, - "classes": 6, - "functions": 23, + "classes": 7, + "functions": 25, "methods": 0, - "variables": 16, + "variables": 19, "control_structures": 5 }, - "generated_at": "2025-08-13T11:36:21.738985241Z" + "generated_at": "2025-08-15T16:17:53.913949768Z" }, { "file_info": { "name": "math_box.rs", "path": "src/boxes/math_box.rs", "size_bytes": 0, - "total_lines": 498, - "code_lines": 362, - "comment_lines": 77, - "empty_lines": 59, - "code_ratio": 0.7269076305220884, - "analyzed_at": "2025-08-13T11:36:21.739019743Z", + "total_lines": 513, + "code_lines": 371, + "comment_lines": 80, + "empty_lines": 62, + "code_ratio": 0.723196881091618, + "analyzed_at": "2025-08-15T16:17:53.914367998Z", "metadata": {} }, "language": "rust", @@ -25695,8 +45609,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { @@ -25728,7 +45642,7 @@ "name": "MathBox", "parent_class": null, "start_line": 307, - "end_line": 328, + "end_line": 333, "methods": [], "properties": [], "member_variables": [], @@ -25740,8 +45654,8 @@ { "name": "MathBox", "parent_class": null, - "start_line": 330, - "end_line": 334, + "start_line": 335, + "end_line": 339, "methods": [], "properties": [], "member_variables": [], @@ -25753,8 +45667,8 @@ { "name": "FloatBox", "parent_class": null, - "start_line": 338, - "end_line": 341, + "start_line": 343, + "end_line": 346, "methods": [], "properties": [], "member_variables": [], @@ -25766,8 +45680,8 @@ { "name": "FloatBox", "parent_class": null, - "start_line": 343, - "end_line": 350, + "start_line": 348, + "end_line": 355, "methods": [], "properties": [], "member_variables": [], @@ -25778,21 +45692,21 @@ { "name": "FloatBox", "parent_class": null, - "start_line": 352, - "end_line": 372, + "start_line": 357, + "end_line": 377, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "BoxCore", - "type": "impl" + "type": "impl", + "implementing_trait": "BoxCore" } }, { "name": "FloatBox", "parent_class": null, - "start_line": 374, - "end_line": 397, + "start_line": 379, + "end_line": 407, "methods": [], "properties": [], "member_variables": [], @@ -25804,8 +45718,8 @@ { "name": "FloatBox", "parent_class": null, - "start_line": 399, - "end_line": 403, + "start_line": 409, + "end_line": 413, "methods": [], "properties": [], "member_variables": [], @@ -25817,8 +45731,8 @@ { "name": "RangeBox", "parent_class": null, - "start_line": 407, - "end_line": 412, + "start_line": 417, + "end_line": 422, "methods": [], "properties": [], "member_variables": [], @@ -25830,8 +45744,8 @@ { "name": "RangeBox", "parent_class": null, - "start_line": 414, - "end_line": 443, + "start_line": 424, + "end_line": 453, "methods": [], "properties": [], "member_variables": [], @@ -25842,8 +45756,8 @@ { "name": "RangeBox", "parent_class": null, - "start_line": 445, - "end_line": 465, + "start_line": 455, + "end_line": 475, "methods": [], "properties": [], "member_variables": [], @@ -25855,21 +45769,21 @@ { "name": "RangeBox", "parent_class": null, - "start_line": 467, - "end_line": 492, + "start_line": 477, + "end_line": 507, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "NyashBox", - "type": "impl" + "type": "impl", + "implementing_trait": "NyashBox" } }, { "name": "RangeBox", "parent_class": null, - "start_line": 494, - "end_line": 498, + "start_line": 509, + "end_line": 513, "methods": [], "properties": [], "member_variables": [], @@ -25895,8 +45809,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -26029,8 +45943,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -26072,8 +45986,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -26204,8 +46118,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -26226,8 +46140,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -26248,8 +46162,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -26413,10 +46327,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 321, + "end_line": 323, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "equals", - "start_line": 320, - "end_line": 326, + "start_line": 325, + "end_line": 331, "parameters": [ "&self", "other: &dyn NyashBox" @@ -26436,8 +46370,8 @@ }, { "name": "fmt", - "start_line": 331, - "end_line": 333, + "start_line": 336, + "end_line": 338, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -26457,8 +46391,8 @@ }, { "name": "new", - "start_line": 344, - "end_line": 349, + "start_line": 349, + "end_line": 354, "parameters": [ "value: f64" ], @@ -26472,14 +46406,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "box_id", - "start_line": 353, - "end_line": 355, + "start_line": 358, + "end_line": 360, "parameters": [ "&self" ], @@ -26498,8 +46432,8 @@ }, { "name": "parent_type_id", - "start_line": 357, - "end_line": 359, + "start_line": 362, + "end_line": 364, "parameters": [ "&self" ], @@ -26518,8 +46452,8 @@ }, { "name": "fmt_box", - "start_line": 361, - "end_line": 363, + "start_line": 366, + "end_line": 368, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -26539,8 +46473,8 @@ }, { "name": "as_any", - "start_line": 365, - "end_line": 367, + "start_line": 370, + "end_line": 372, "parameters": [ "&self" ], @@ -26559,8 +46493,8 @@ }, { "name": "as_any_mut", - "start_line": 369, - "end_line": 371, + "start_line": 374, + "end_line": 376, "parameters": [ "&mut self" ], @@ -26579,8 +46513,8 @@ }, { "name": "type_name", - "start_line": 375, - "end_line": 377, + "start_line": 380, + "end_line": 382, "parameters": [ "&self" ], @@ -26599,8 +46533,8 @@ }, { "name": "to_string_box", - "start_line": 379, - "end_line": 381, + "start_line": 384, + "end_line": 386, "parameters": [ "&self" ], @@ -26619,8 +46553,28 @@ }, { "name": "clone_box", - "start_line": 383, - "end_line": 385, + "start_line": 388, + "end_line": 390, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 393, + "end_line": 395, "parameters": [ "&self" ], @@ -26639,8 +46593,8 @@ }, { "name": "equals", - "start_line": 387, - "end_line": 395, + "start_line": 397, + "end_line": 405, "parameters": [ "&self", "other: &dyn NyashBox" @@ -26660,8 +46614,8 @@ }, { "name": "fmt", - "start_line": 400, - "end_line": 402, + "start_line": 410, + "end_line": 412, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -26681,8 +46635,8 @@ }, { "name": "new", - "start_line": 415, - "end_line": 422, + "start_line": 425, + "end_line": 432, "parameters": [ "start: i64", "end: i64", @@ -26697,36 +46651,36 @@ "rating": "simple", "rating_emoji": "🟢" }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "iter", - "start_line": 425, - "end_line": 442, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, "metadata": { "modifiers": "pub", "type": "function" } }, + { + "name": "iter", + "start_line": 435, + "end_line": 452, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, { "name": "box_id", - "start_line": 446, - "end_line": 448, + "start_line": 456, + "end_line": 458, "parameters": [ "&self" ], @@ -26745,8 +46699,8 @@ }, { "name": "parent_type_id", - "start_line": 450, - "end_line": 452, + "start_line": 460, + "end_line": 462, "parameters": [ "&self" ], @@ -26765,8 +46719,8 @@ }, { "name": "fmt_box", - "start_line": 454, - "end_line": 456, + "start_line": 464, + "end_line": 466, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -26786,46 +46740,6 @@ }, { "name": "as_any", - "start_line": 458, - "end_line": 460, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "as_any_mut", - "start_line": 462, - "end_line": 464, - "parameters": [ - "&mut self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "type_name", "start_line": 468, "end_line": 470, "parameters": [ @@ -26845,9 +46759,49 @@ } }, { - "name": "to_string_box", + "name": "as_any_mut", "start_line": 472, "end_line": 474, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 478, + "end_line": 480, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 482, + "end_line": 484, "parameters": [ "&self" ], @@ -26866,8 +46820,28 @@ }, { "name": "clone_box", - "start_line": 476, - "end_line": 478, + "start_line": 486, + "end_line": 488, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 491, + "end_line": 493, "parameters": [ "&self" ], @@ -26886,8 +46860,8 @@ }, { "name": "equals", - "start_line": 480, - "end_line": 490, + "start_line": 495, + "end_line": 505, "parameters": [ "&self", "other: &dyn NyashBox" @@ -26907,8 +46881,8 @@ }, { "name": "fmt", - "start_line": 495, - "end_line": 497, + "start_line": 510, + "end_line": 512, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -26967,7 +46941,7 @@ "metadata": {}, "stats": { "class_count": 15, - "function_count": 50, + "function_count": 53, "import_count": 3, "export_count": 0, "unique_calls": 0, @@ -27872,7 +47846,7 @@ "name": "MathBox", "full_name": "", "start_line": 307, - "end_line": 328, + "end_line": 333, "start_column": 0, "end_column": 0, "depth": 1, @@ -27923,12 +47897,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 321, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "equals", "full_name": "", - "start_line": 320, - "end_line": 326, + "start_line": 325, + "end_line": 331, "start_column": 0, "end_column": 0, "depth": 3, @@ -27941,8 +47929,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 321, - "end_line": 325, + "start_line": 326, + "end_line": 330, "start_column": 0, "end_column": 0, "depth": 6, @@ -27955,8 +47943,8 @@ "type": "class", "name": "MathBox", "full_name": "", - "start_line": 330, - "end_line": 334, + "start_line": 335, + "end_line": 339, "start_column": 0, "end_column": 0, "depth": 1, @@ -27969,8 +47957,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 331, - "end_line": 333, + "start_line": 336, + "end_line": 338, "start_column": 0, "end_column": 0, "depth": 3, @@ -27983,8 +47971,8 @@ "type": "class", "name": "FloatBox", "full_name": "", - "start_line": 338, - "end_line": 341, + "start_line": 343, + "end_line": 346, "start_column": 0, "end_column": 0, "depth": 1, @@ -27997,8 +47985,8 @@ "type": "class", "name": "FloatBox", "full_name": "", - "start_line": 343, - "end_line": 350, + "start_line": 348, + "end_line": 355, "start_column": 0, "end_column": 0, "depth": 1, @@ -28011,8 +47999,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 344, - "end_line": 349, + "start_line": 349, + "end_line": 354, "start_column": 0, "end_column": 0, "depth": 3, @@ -28025,8 +48013,8 @@ "type": "class", "name": "FloatBox", "full_name": "", - "start_line": 352, - "end_line": 372, + "start_line": 357, + "end_line": 377, "start_column": 0, "end_column": 0, "depth": 1, @@ -28039,8 +48027,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 353, - "end_line": 355, + "start_line": 358, + "end_line": 360, "start_column": 0, "end_column": 0, "depth": 3, @@ -28053,8 +48041,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 357, - "end_line": 359, + "start_line": 362, + "end_line": 364, "start_column": 0, "end_column": 0, "depth": 3, @@ -28067,8 +48055,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 361, - "end_line": 363, + "start_line": 366, + "end_line": 368, "start_column": 0, "end_column": 0, "depth": 3, @@ -28081,8 +48069,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 365, - "end_line": 367, + "start_line": 370, + "end_line": 372, "start_column": 0, "end_column": 0, "depth": 3, @@ -28095,8 +48083,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 369, - "end_line": 371, + "start_line": 374, + "end_line": 376, "start_column": 0, "end_column": 0, "depth": 3, @@ -28109,8 +48097,8 @@ "type": "class", "name": "FloatBox", "full_name": "", - "start_line": 374, - "end_line": 397, + "start_line": 379, + "end_line": 407, "start_column": 0, "end_column": 0, "depth": 1, @@ -28123,8 +48111,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 375, - "end_line": 377, + "start_line": 380, + "end_line": 382, "start_column": 0, "end_column": 0, "depth": 3, @@ -28137,8 +48125,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 379, - "end_line": 381, + "start_line": 384, + "end_line": 386, "start_column": 0, "end_column": 0, "depth": 3, @@ -28151,8 +48139,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 383, - "end_line": 385, + "start_line": 388, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 393, + "end_line": 395, "start_column": 0, "end_column": 0, "depth": 3, @@ -28165,8 +48167,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 387, - "end_line": 395, + "start_line": 397, + "end_line": 405, "start_column": 0, "end_column": 0, "depth": 3, @@ -28179,8 +48181,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 388, - "end_line": 394, + "start_line": 398, + "end_line": 404, "start_column": 0, "end_column": 0, "depth": 6, @@ -28193,8 +48195,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 390, - "end_line": 394, + "start_line": 400, + "end_line": 404, "start_column": 0, "end_column": 0, "depth": 8, @@ -28207,8 +48209,8 @@ "type": "class", "name": "FloatBox", "full_name": "", - "start_line": 399, - "end_line": 403, + "start_line": 409, + "end_line": 413, "start_column": 0, "end_column": 0, "depth": 1, @@ -28221,8 +48223,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 400, - "end_line": 402, + "start_line": 410, + "end_line": 412, "start_column": 0, "end_column": 0, "depth": 3, @@ -28235,8 +48237,8 @@ "type": "class", "name": "RangeBox", "full_name": "", - "start_line": 407, - "end_line": 412, + "start_line": 417, + "end_line": 422, "start_column": 0, "end_column": 0, "depth": 1, @@ -28249,8 +48251,8 @@ "type": "class", "name": "RangeBox", "full_name": "", - "start_line": 414, - "end_line": 443, + "start_line": 424, + "end_line": 453, "start_column": 0, "end_column": 0, "depth": 1, @@ -28263,8 +48265,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 415, - "end_line": 422, + "start_line": 425, + "end_line": 432, "start_column": 0, "end_column": 0, "depth": 3, @@ -28277,8 +48279,8 @@ "type": "function", "name": "iter", "full_name": "", - "start_line": 425, - "end_line": 442, + "start_line": 435, + "end_line": 452, "start_column": 0, "end_column": 0, "depth": 3, @@ -28291,8 +48293,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 426, - "end_line": 426, + "start_line": 436, + "end_line": 436, "start_column": 0, "end_column": 0, "depth": 5, @@ -28305,8 +48307,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 427, - "end_line": 427, + "start_line": 437, + "end_line": 437, "start_column": 0, "end_column": 0, "depth": 5, @@ -28319,8 +48321,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 429, - "end_line": 439, + "start_line": 439, + "end_line": 449, "start_column": 0, "end_column": 0, "depth": 6, @@ -28333,8 +48335,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 430, - "end_line": 433, + "start_line": 440, + "end_line": 443, "start_column": 0, "end_column": 0, "depth": 9, @@ -28347,8 +48349,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 434, - "end_line": 439, + "start_line": 444, + "end_line": 449, "start_column": 0, "end_column": 0, "depth": 8, @@ -28361,8 +48363,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 435, - "end_line": 438, + "start_line": 445, + "end_line": 448, "start_column": 0, "end_column": 0, "depth": 11, @@ -28375,8 +48377,8 @@ "type": "class", "name": "RangeBox", "full_name": "", - "start_line": 445, - "end_line": 465, + "start_line": 455, + "end_line": 475, "start_column": 0, "end_column": 0, "depth": 1, @@ -28389,8 +48391,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 446, - "end_line": 448, + "start_line": 456, + "end_line": 458, "start_column": 0, "end_column": 0, "depth": 3, @@ -28403,8 +48405,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 450, - "end_line": 452, + "start_line": 460, + "end_line": 462, "start_column": 0, "end_column": 0, "depth": 3, @@ -28417,8 +48419,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 454, - "end_line": 456, + "start_line": 464, + "end_line": 466, "start_column": 0, "end_column": 0, "depth": 3, @@ -28431,48 +48433,6 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 458, - "end_line": 460, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "as_any_mut", - "full_name": "", - "start_line": 462, - "end_line": 464, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "RangeBox", - "full_name": "", - "start_line": 467, - "end_line": 492, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "type_name", - "full_name": "", "start_line": 468, "end_line": 470, "start_column": 0, @@ -28485,7 +48445,7 @@ }, { "type": "function", - "name": "to_string_box", + "name": "as_any_mut", "full_name": "", "start_line": 472, "end_line": 474, @@ -28497,12 +48457,68 @@ "attributes": {}, "source_text": null }, + { + "type": "class", + "name": "RangeBox", + "full_name": "", + "start_line": 477, + "end_line": 507, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 478, + "end_line": 480, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 482, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "clone_box", "full_name": "", - "start_line": 476, - "end_line": 478, + "start_line": 486, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 491, + "end_line": 493, "start_column": 0, "end_column": 0, "depth": 3, @@ -28515,8 +48531,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 480, - "end_line": 490, + "start_line": 495, + "end_line": 505, "start_column": 0, "end_column": 0, "depth": 3, @@ -28529,8 +48545,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 481, - "end_line": 489, + "start_line": 496, + "end_line": 504, "start_column": 0, "end_column": 0, "depth": 6, @@ -28543,8 +48559,8 @@ "type": "class", "name": "RangeBox", "full_name": "", - "start_line": 494, - "end_line": 498, + "start_line": 509, + "end_line": 513, "start_column": 0, "end_column": 0, "depth": 1, @@ -28557,8 +48573,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 495, - "end_line": 497, + "start_line": 510, + "end_line": 512, "start_column": 0, "end_column": 0, "depth": 3, @@ -28572,36 +48588,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 114, + "total_nodes": 117, "max_depth": 11, "node_type_counts": { - "variable": 3, "file_root": 1, + "function": 53, "import": 3, - "if_statement": 40, - "function": 50, "class": 15, + "if_statement": 40, + "variable": 3, "for_loop": 2 }, "classes": 15, - "functions": 50, + "functions": 53, "methods": 0, "variables": 3, "control_structures": 42 }, - "generated_at": "2025-08-13T11:36:21.739050402Z" + "generated_at": "2025-08-15T16:17:53.914393958Z" }, { "file_info": { "name": "mod.rs", "path": "src/boxes/mod.rs", "size_bytes": 0, - "total_lines": 140, - "code_lines": 61, + "total_lines": 146, + "code_lines": 67, "comment_lines": 66, "empty_lines": 13, - "code_ratio": 0.4357142857142857, - "analyzed_at": "2025-08-13T11:36:21.739074944Z", + "code_ratio": 0.4589041095890411, + "analyzed_at": "2025-08-15T16:17:53.913748089Z", "metadata": {} }, "language": "rust", @@ -28749,7 +48765,7 @@ "module_path": "null_box::{NullBox, null}", "imported_names": [], "alias": null, - "line_number": 124, + "line_number": 127, "metadata": {} }, { @@ -28757,7 +48773,7 @@ "module_path": "array::ArrayBox", "imported_names": [], "alias": null, - "line_number": 127, + "line_number": 130, "metadata": {} }, { @@ -28765,7 +48781,7 @@ "module_path": "buffer::BufferBox", "imported_names": [], "alias": null, - "line_number": 128, + "line_number": 131, "metadata": {} }, { @@ -28773,7 +48789,7 @@ "module_path": "file::FileBox", "imported_names": [], "alias": null, - "line_number": 129, + "line_number": 132, "metadata": {} }, { @@ -28781,7 +48797,7 @@ "module_path": "future::{NyashFutureBox, FutureBox}", "imported_names": [], "alias": null, - "line_number": 130, + "line_number": 133, "metadata": {} }, { @@ -28789,7 +48805,7 @@ "module_path": "json::JSONBox", "imported_names": [], "alias": null, - "line_number": 131, + "line_number": 134, "metadata": {} }, { @@ -28797,7 +48813,7 @@ "module_path": "result::{NyashResultBox, ResultBox}", "imported_names": [], "alias": null, - "line_number": 132, + "line_number": 135, "metadata": {} }, { @@ -28805,7 +48821,7 @@ "module_path": "http::HttpClientBox", "imported_names": [], "alias": null, - "line_number": 133, + "line_number": 136, "metadata": {} }, { @@ -28813,7 +48829,7 @@ "module_path": "stream::{NyashStreamBox, StreamBox}", "imported_names": [], "alias": null, - "line_number": 134, + "line_number": 137, "metadata": {} }, { @@ -28821,7 +48837,31 @@ "module_path": "regex::RegexBox", "imported_names": [], "alias": null, - "line_number": 135, + "line_number": 138, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "socket_box::SocketBox", + "imported_names": [], + "alias": null, + "line_number": 139, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "http_message_box::{HTTPRequestBox, HTTPResponseBox}", + "imported_names": [], + "alias": null, + "line_number": 140, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "http_server_box::HTTPServerBox", + "imported_names": [], + "alias": null, + "line_number": 141, "metadata": {} }, { @@ -28829,7 +48869,7 @@ "module_path": "intent_box::IntentBox", "imported_names": [], "alias": null, - "line_number": 138, + "line_number": 144, "metadata": {} } ], @@ -28848,7 +48888,7 @@ "stats": { "class_count": 0, "function_count": 0, - "import_count": 28, + "import_count": 31, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -29103,20 +49143,6 @@ "attributes": {}, "source_text": null }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 124, - "end_line": 124, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "import", "name": "", @@ -29131,34 +49157,6 @@ "attributes": {}, "source_text": null }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 128, - "end_line": 128, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 129, - "end_line": 129, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "import", "name": "", @@ -29243,6 +49241,34 @@ "attributes": {}, "source_text": null }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "import", "name": "", @@ -29256,17 +49282,73 @@ "children": [], "attributes": {}, "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null } ], "attributes": {}, "source_text": null }, "ast_statistics": { - "total_nodes": 29, + "total_nodes": 32, "max_depth": 1, "node_type_counts": { "file_root": 1, - "import": 28 + "import": 31 }, "classes": 0, "functions": 0, @@ -29274,19 +49356,19 @@ "variables": 0, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.739084264Z" + "generated_at": "2025-08-15T16:17:53.913756058Z" }, { "file_info": { "name": "null_box.rs", "path": "src/boxes/null_box.rs", "size_bytes": 0, - "total_lines": 239, - "code_lines": 114, - "comment_lines": 95, - "empty_lines": 30, - "code_ratio": 0.4769874476987448, - "analyzed_at": "2025-08-13T11:36:21.738987708Z", + "total_lines": 244, + "code_lines": 117, + "comment_lines": 96, + "empty_lines": 31, + "code_ratio": 0.47950819672131145, + "analyzed_at": "2025-08-15T16:17:53.913808634Z", "metadata": {} }, "language": "rust", @@ -29300,8 +49382,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { @@ -29325,15 +49407,15 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" + "implementing_trait": "BoxCore", + "type": "impl" } }, { "name": "NullBox", "parent_class": null, "start_line": 159, - "end_line": 177, + "end_line": 182, "methods": [], "properties": [], "member_variables": [], @@ -29345,8 +49427,8 @@ { "name": "NullBox", "parent_class": null, - "start_line": 179, - "end_line": 183, + "start_line": 184, + "end_line": 188, "methods": [], "properties": [], "member_variables": [], @@ -29372,8 +49454,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -29393,8 +49475,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -29435,8 +49517,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -29644,9 +49726,29 @@ } }, { - "name": "equals", - "start_line": 172, + "name": "share_box", + "start_line": 173, "end_line": 175, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 177, + "end_line": 180, "parameters": [ "&self", "other: &dyn NyashBox" @@ -29666,8 +49768,8 @@ }, { "name": "fmt", - "start_line": 180, - "end_line": 182, + "start_line": 185, + "end_line": 187, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -29687,8 +49789,8 @@ }, { "name": "null", - "start_line": 186, - "end_line": 188, + "start_line": 191, + "end_line": 193, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -29706,8 +49808,8 @@ }, { "name": "test_null_creation", - "start_line": 196, - "end_line": 201, + "start_line": 201, + "end_line": 206, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -29724,8 +49826,8 @@ }, { "name": "test_null_check", - "start_line": 204, - "end_line": 213, + "start_line": 209, + "end_line": 218, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -29742,8 +49844,8 @@ }, { "name": "test_null_equality", - "start_line": 216, - "end_line": 223, + "start_line": 221, + "end_line": 228, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -29760,8 +49862,8 @@ }, { "name": "test_get_or_default", - "start_line": 226, - "end_line": 238, + "start_line": 231, + "end_line": 243, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -29807,7 +49909,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 192, + "line_number": 197, "metadata": {} }, { @@ -29815,7 +49917,7 @@ "module_path": "crate::box_trait::IntegerBox", "imported_names": [], "alias": null, - "line_number": 193, + "line_number": 198, "metadata": {} } ], @@ -29833,7 +49935,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 21, + "function_count": 22, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -30108,7 +50210,7 @@ "name": "NullBox", "full_name": "", "start_line": 159, - "end_line": 177, + "end_line": 182, "start_column": 0, "end_column": 0, "depth": 1, @@ -30159,12 +50261,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 173, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "equals", "full_name": "", - "start_line": 172, - "end_line": 175, + "start_line": 177, + "end_line": 180, "start_column": 0, "end_column": 0, "depth": 3, @@ -30177,8 +50293,8 @@ "type": "class", "name": "NullBox", "full_name": "", - "start_line": 179, - "end_line": 183, + "start_line": 184, + "end_line": 188, "start_column": 0, "end_column": 0, "depth": 1, @@ -30191,8 +50307,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 180, - "end_line": 182, + "start_line": 185, + "end_line": 187, "start_column": 0, "end_column": 0, "depth": 3, @@ -30205,8 +50321,8 @@ "type": "function", "name": "null", "full_name": "", - "start_line": 186, - "end_line": 188, + "start_line": 191, + "end_line": 193, "start_column": 0, "end_column": 0, "depth": 1, @@ -30219,8 +50335,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 192, - "end_line": 192, + "start_line": 197, + "end_line": 197, "start_column": 0, "end_column": 0, "depth": 3, @@ -30233,8 +50349,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 193, - "end_line": 193, + "start_line": 198, + "end_line": 198, "start_column": 0, "end_column": 0, "depth": 3, @@ -30247,8 +50363,8 @@ "type": "function", "name": "test_null_creation", "full_name": "", - "start_line": 196, - "end_line": 201, + "start_line": 201, + "end_line": 206, "start_column": 0, "end_column": 0, "depth": 3, @@ -30261,8 +50377,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 197, - "end_line": 197, + "start_line": 202, + "end_line": 202, "start_column": 0, "end_column": 0, "depth": 5, @@ -30275,8 +50391,8 @@ "type": "function", "name": "test_null_check", "full_name": "", - "start_line": 204, - "end_line": 213, + "start_line": 209, + "end_line": 218, "start_column": 0, "end_column": 0, "depth": 3, @@ -30289,8 +50405,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 205, - "end_line": 205, + "start_line": 210, + "end_line": 210, "start_column": 0, "end_column": 0, "depth": 5, @@ -30303,8 +50419,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 206, - "end_line": 206, + "start_line": 211, + "end_line": 211, "start_column": 0, "end_column": 0, "depth": 5, @@ -30317,8 +50433,8 @@ "type": "function", "name": "test_null_equality", "full_name": "", - "start_line": 216, - "end_line": 223, + "start_line": 221, + "end_line": 228, "start_column": 0, "end_column": 0, "depth": 3, @@ -30331,8 +50447,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 217, - "end_line": 217, + "start_line": 222, + "end_line": 222, "start_column": 0, "end_column": 0, "depth": 5, @@ -30345,8 +50461,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 218, - "end_line": 218, + "start_line": 223, + "end_line": 223, "start_column": 0, "end_column": 0, "depth": 5, @@ -30359,8 +50475,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 219, - "end_line": 219, + "start_line": 224, + "end_line": 224, "start_column": 0, "end_column": 0, "depth": 5, @@ -30373,8 +50489,8 @@ "type": "function", "name": "test_get_or_default", "full_name": "", - "start_line": 226, - "end_line": 238, + "start_line": 231, + "end_line": 243, "start_column": 0, "end_column": 0, "depth": 3, @@ -30383,48 +50499,6 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 227, - "end_line": 227, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 228, - "end_line": 228, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 229, - "end_line": 229, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", @@ -30443,8 +50517,50 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 236, - "end_line": 236, + "start_line": 233, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 237, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 241, "start_column": 0, "end_column": 0, "depth": 5, @@ -30458,70 +50574,70 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 44, + "total_nodes": 45, "max_depth": 6, "node_type_counts": { - "file_root": 1, "import": 5, - "if_statement": 1, - "function": 21, + "function": 22, "variable": 11, + "file_root": 1, + "if_statement": 1, "class": 5 }, "classes": 5, - "functions": 21, + "functions": 22, "methods": 0, "variables": 11, "control_structures": 1 }, - "generated_at": "2025-08-13T11:36:21.739004690Z" + "generated_at": "2025-08-15T16:17:53.913821635Z" }, { "file_info": { "name": "p2p_box.rs", "path": "src/boxes/p2p_box.rs", "size_bytes": 0, - "total_lines": 183, - "code_lines": 108, - "comment_lines": 49, - "empty_lines": 26, - "code_ratio": 0.5901639344262295, - "analyzed_at": "2025-08-13T11:36:21.739061151Z", + "total_lines": 211, + "code_lines": 133, + "comment_lines": 51, + "empty_lines": 27, + "code_ratio": 0.6303317535545023, + "analyzed_at": "2025-08-15T16:17:53.914371601Z", "metadata": {} }, "language": "rust", "classes": [ { - "name": "P2PBoxData", + "name": "P2PBox", "parent_class": null, - "start_line": 46, - "end_line": 50, + "start_line": 48, + "end_line": 53, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { - "name": "P2PBoxData", + "name": "P2PBox", "parent_class": null, - "start_line": 52, - "end_line": 60, + "start_line": 55, + "end_line": 74, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "std::fmt::Debug" + "implementing_trait": "Clone", + "type": "impl" } }, { "name": "TransportKind", "parent_class": null, - "start_line": 67, - "end_line": 70, + "start_line": 76, + "end_line": 79, "methods": [], "properties": [], "member_variables": [], @@ -30533,21 +50649,21 @@ { "name": "TransportKind", "parent_class": null, - "start_line": 72, - "end_line": 81, + "start_line": 81, + "end_line": 90, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "std::str::FromStr" + "implementing_trait": "std::str::FromStr", + "type": "impl" } }, { - "name": "P2PBoxData", + "name": "P2PBox", "parent_class": null, - "start_line": 83, - "end_line": 126, + "start_line": 92, + "end_line": 211, "methods": [], "properties": [], "member_variables": [], @@ -30558,34 +50674,34 @@ { "name": "P2PBox", "parent_class": null, - "start_line": 130, - "end_line": 154, + "start_line": 154, + "end_line": 181, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "P2PBox", "parent_class": null, - "start_line": 156, - "end_line": 177, + "start_line": 183, + "end_line": 205, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" + "implementing_trait": "BoxCore", + "type": "impl" } }, { - "name": "P2PBoxData", + "name": "P2PBox", "parent_class": null, - "start_line": 179, - "end_line": 183, + "start_line": 207, + "end_line": 211, "methods": [], "properties": [], "member_variables": [], @@ -30597,12 +50713,11 @@ ], "functions": [ { - "name": "fmt", - "start_line": 53, - "end_line": 59, + "name": "clone", + "start_line": 56, + "end_line": 73, "parameters": [ - "&self", - "f: &mut std::fmt::Formatter<'_>" + "&self" ], "is_async": false, "is_arrow_function": false, @@ -30619,8 +50734,8 @@ }, { "name": "from_str", - "start_line": 75, - "end_line": 80, + "start_line": 84, + "end_line": 89, "parameters": [ "s: &str" ], @@ -30639,8 +50754,8 @@ }, { "name": "new", - "start_line": 85, - "end_line": 95, + "start_line": 94, + "end_line": 105, "parameters": [ "node_id: String", "transport_kind: TransportKind" @@ -30655,14 +50770,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "get_node_id", - "start_line": 98, - "end_line": 100, + "start_line": 108, + "end_line": 111, "parameters": [ "&self" ], @@ -30682,35 +50797,12 @@ }, { "name": "send", - "start_line": 103, - "end_line": 106, + "start_line": 114, + "end_line": 127, "parameters": [ "&self", - "to: &str", - "intent: IntentBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "on", - "start_line": 109, - "end_line": 113, - "parameters": [ - "&self", - "intent_name: &str", - "handler: IntentHandler" + "to", + "intent" ], "is_async": false, "is_arrow_function": false, @@ -30727,12 +50819,35 @@ } }, { - "name": "is_reachable", - "start_line": 116, - "end_line": 119, + "name": "on", + "start_line": 130, + "end_line": 150, "parameters": [ "&self", - "node_id: &str" + "intent_name", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_reachable", + "start_line": 139, + "end_line": 143, + "parameters": [ + "&self", + "node_id" ], "is_async": false, "is_arrow_function": false, @@ -30750,8 +50865,49 @@ }, { "name": "get_transport_type", - "start_line": 122, - "end_line": 125, + "start_line": 146, + "end_line": 149, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone_box", + "start_line": 155, + "end_line": 157, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 160, + "end_line": 162, "parameters": [ "&self" ], @@ -30765,14 +50921,13 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", "type": "function" } }, { "name": "to_string_box", - "start_line": 131, - "end_line": 134, + "start_line": 164, + "end_line": 168, "parameters": [ "&self" ], @@ -30791,8 +50946,8 @@ }, { "name": "equals", - "start_line": 136, - "end_line": 144, + "start_line": 170, + "end_line": 176, "parameters": [ "&self", "other: &dyn NyashBox" @@ -30812,28 +50967,8 @@ }, { "name": "type_name", - "start_line": 146, - "end_line": 148, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "clone_box", - "start_line": 150, - "end_line": 153, + "start_line": 178, + "end_line": 180, "parameters": [ "&self" ], @@ -30852,8 +50987,8 @@ }, { "name": "box_id", - "start_line": 157, - "end_line": 159, + "start_line": 184, + "end_line": 186, "parameters": [ "&self" ], @@ -30872,8 +51007,8 @@ }, { "name": "parent_type_id", - "start_line": 161, - "end_line": 163, + "start_line": 188, + "end_line": 190, "parameters": [ "&self" ], @@ -30892,8 +51027,8 @@ }, { "name": "fmt_box", - "start_line": 165, - "end_line": 168, + "start_line": 192, + "end_line": 196, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -30913,8 +51048,8 @@ }, { "name": "as_any", - "start_line": 170, - "end_line": 172, + "start_line": 198, + "end_line": 200, "parameters": [ "&self" ], @@ -30933,8 +51068,8 @@ }, { "name": "as_any_mut", - "start_line": 174, - "end_line": 176, + "start_line": 202, + "end_line": 204, "parameters": [ "&mut self" ], @@ -30953,8 +51088,8 @@ }, { "name": "fmt", - "start_line": 180, - "end_line": 182, + "start_line": 208, + "end_line": 210, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -31016,11 +51151,19 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::RwLock", "imported_names": [], "alias": null, "line_number": 43, "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 44, + "metadata": {} } ], "exports": [], @@ -31037,8 +51180,8 @@ "metadata": {}, "stats": { "class_count": 8, - "function_count": 18, - "import_count": 6, + "function_count": 19, + "import_count": 7, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -31140,11 +51283,11 @@ "source_text": null }, { - "type": "class", - "name": "P2PBoxData", + "type": "import", + "name": "", "full_name": "", - "start_line": 46, - "end_line": 50, + "start_line": 44, + "end_line": 44, "start_column": 0, "end_column": 0, "depth": 1, @@ -31155,10 +51298,24 @@ }, { "type": "class", - "name": "P2PBoxData", + "name": "P2PBox", "full_name": "", - "start_line": 52, - "end_line": 60, + "start_line": 48, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "P2PBox", + "full_name": "", + "start_line": 55, + "end_line": 74, "start_column": 0, "end_column": 0, "depth": 1, @@ -31169,10 +51326,10 @@ }, { "type": "function", - "name": "fmt", + "name": "clone", "full_name": "", - "start_line": 53, - "end_line": 59, + "start_line": 56, + "end_line": 73, "start_column": 0, "end_column": 0, "depth": 3, @@ -31181,12 +51338,68 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 62, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "TransportKind", "full_name": "", - "start_line": 67, - "end_line": 70, + "start_line": 76, + "end_line": 79, "start_column": 0, "end_column": 0, "depth": 1, @@ -31199,8 +51412,8 @@ "type": "class", "name": "TransportKind", "full_name": "", - "start_line": 72, - "end_line": 81, + "start_line": 81, + "end_line": 90, "start_column": 0, "end_column": 0, "depth": 1, @@ -31213,8 +51426,8 @@ "type": "function", "name": "from_str", "full_name": "", - "start_line": 75, - "end_line": 80, + "start_line": 84, + "end_line": 89, "start_column": 0, "end_column": 0, "depth": 3, @@ -31225,10 +51438,10 @@ }, { "type": "class", - "name": "P2PBoxData", + "name": "P2PBox", "full_name": "", - "start_line": 83, - "end_line": 126, + "start_line": 92, + "end_line": 211, "start_column": 0, "end_column": 0, "depth": 1, @@ -31241,8 +51454,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 85, - "end_line": 95, + "start_line": 94, + "end_line": 105, "start_column": 0, "end_column": 0, "depth": 3, @@ -31255,8 +51468,8 @@ "type": "variable", "name": "Box", "full_name": "", - "start_line": 86, - "end_line": 88, + "start_line": 95, + "end_line": 97, "start_column": 0, "end_column": 0, "depth": 5, @@ -31269,8 +51482,8 @@ "type": "function", "name": "get_node_id", "full_name": "", - "start_line": 98, - "end_line": 100, + "start_line": 108, + "end_line": 111, "start_column": 0, "end_column": 0, "depth": 3, @@ -31279,12 +51492,26 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "send", "full_name": "", - "start_line": 103, - "end_line": 106, + "start_line": 114, + "end_line": 127, "start_column": 0, "end_column": 0, "depth": 3, @@ -31297,8 +51524,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 104, - "end_line": 104, + "start_line": 115, + "end_line": 115, "start_column": 0, "end_column": 0, "depth": 5, @@ -31307,138 +51534,12 @@ "attributes": {}, "source_text": null }, - { - "type": "function", - "name": "on", - "full_name": "", - "start_line": 109, - "end_line": 113, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "is_reachable", - "full_name": "", - "start_line": 116, - "end_line": 119, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 117, - "end_line": 117, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "get_transport_type", - "full_name": "", - "start_line": 122, - "end_line": 125, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 123, - "end_line": 123, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "P2PBox", - "full_name": "", - "start_line": 130, - "end_line": 154, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "to_string_box", - "full_name": "", - "start_line": 131, - "end_line": 134, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 132, - "end_line": 132, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "equals", - "full_name": "", - "start_line": 136, - "end_line": 144, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 137, - "end_line": 143, + "start_line": 118, + "end_line": 126, "start_column": 0, "end_column": 0, "depth": 6, @@ -31451,22 +51552,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 138, - "end_line": 138, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 139, - "end_line": 139, + "start_line": 119, + "end_line": 119, "start_column": 0, "end_column": 0, "depth": 8, @@ -31477,10 +51564,122 @@ }, { "type": "function", - "name": "type_name", + "name": "on", + "full_name": "", + "start_line": 130, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 131, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_reachable", + "full_name": "", + "start_line": 139, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_transport_type", "full_name": "", "start_line": 146, - "end_line": 148, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "P2PBox", + "full_name": "", + "start_line": 154, + "end_line": 181, "start_column": 0, "end_column": 0, "depth": 3, @@ -31493,25 +51692,11 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 150, - "end_line": 153, + "start_line": 155, + "end_line": 157, "start_column": 0, "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "P2PBox", - "full_name": "", - "start_line": 156, - "end_line": 177, - "start_column": 0, - "end_column": 0, - "depth": 1, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -31519,13 +51704,13 @@ }, { "type": "function", - "name": "box_id", + "name": "share_box", "full_name": "", - "start_line": 157, - "end_line": 159, + "start_line": 160, + "end_line": 162, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -31533,27 +51718,27 @@ }, { "type": "function", - "name": "parent_type_id", + "name": "to_string_box", "full_name": "", - "start_line": 161, - "end_line": 163, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt_box", - "full_name": "", - "start_line": 165, + "start_line": 164, "end_line": 168, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 7, "scope_path": "", "children": [], "attributes": {}, @@ -31567,21 +51752,147 @@ "end_line": 166, "start_column": 0, "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 170, + "end_line": 176, + "start_column": 0, + "end_column": 0, "depth": 5, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 178, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "P2PBox", + "full_name": "", + "start_line": 183, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 184, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 188, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 192, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 194, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "as_any", "full_name": "", - "start_line": 170, - "end_line": 172, + "start_line": 198, + "end_line": 200, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -31591,11 +51902,11 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 174, - "end_line": 176, + "start_line": 202, + "end_line": 204, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -31603,13 +51914,13 @@ }, { "type": "class", - "name": "P2PBoxData", + "name": "P2PBox", "full_name": "", - "start_line": 179, - "end_line": 183, + "start_line": 207, + "end_line": 211, "start_column": 0, "end_column": 0, - "depth": 1, + "depth": 3, "scope_path": "", "children": [], "attributes": {}, @@ -31619,11 +51930,11 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 180, - "end_line": 182, + "start_line": 208, + "end_line": 210, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -31634,35 +51945,35 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 42, + "total_nodes": 54, "max_depth": 8, "node_type_counts": { - "if_statement": 1, - "import": 6, - "function": 18, + "function": 19, + "file_root": 1, + "import": 7, + "if_statement": 2, "class": 8, - "variable": 8, - "file_root": 1 + "variable": 17 }, "classes": 8, - "functions": 18, + "functions": 19, "methods": 0, - "variables": 8, - "control_structures": 1 + "variables": 17, + "control_structures": 2 }, - "generated_at": "2025-08-13T11:36:21.739075104Z" + "generated_at": "2025-08-15T16:17:53.914383591Z" }, { "file_info": { "name": "qr_box.rs", "path": "src/boxes/qr_box.rs", "size_bytes": 0, - "total_lines": 334, - "code_lines": 217, - "comment_lines": 78, - "empty_lines": 39, - "code_ratio": 0.6497005988023952, - "analyzed_at": "2025-08-13T11:36:21.739141566Z", + "total_lines": 339, + "code_lines": 220, + "comment_lines": 79, + "empty_lines": 40, + "code_ratio": 0.6489675516224189, + "analyzed_at": "2025-08-15T16:17:53.919962551Z", "metadata": {} }, "language": "rust", @@ -31676,8 +51987,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -31709,7 +52020,7 @@ "name": "QRBox", "parent_class": null, "start_line": 308, - "end_line": 328, + "end_line": 333, "methods": [], "properties": [], "member_variables": [], @@ -31721,14 +52032,14 @@ { "name": "QRBox", "parent_class": null, - "start_line": 330, - "end_line": 334, + "start_line": 335, + "end_line": 339, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "std::fmt::Display", - "type": "impl" + "type": "impl", + "implementing_trait": "std::fmt::Display" } } ], @@ -31816,8 +52127,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -31863,8 +52174,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -31908,8 +52219,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -31950,8 +52261,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -31992,8 +52303,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -32286,10 +52597,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 314, + "end_line": 316, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "to_string_box", - "start_line": 313, - "end_line": 315, + "start_line": 318, + "end_line": 320, "parameters": [ "&self" ], @@ -32308,8 +52639,8 @@ }, { "name": "type_name", - "start_line": 317, - "end_line": 319, + "start_line": 322, + "end_line": 324, "parameters": [ "&self" ], @@ -32328,8 +52659,8 @@ }, { "name": "equals", - "start_line": 321, - "end_line": 327, + "start_line": 326, + "end_line": 332, "parameters": [ "&self", "other: &dyn NyashBox" @@ -32349,8 +52680,8 @@ }, { "name": "fmt", - "start_line": 331, - "end_line": 333, + "start_line": 336, + "end_line": 338, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -32417,7 +52748,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 30, + "function_count": 31, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -33196,7 +53527,7 @@ "name": "QRBox", "full_name": "", "start_line": 308, - "end_line": 328, + "end_line": 333, "start_column": 0, "end_column": 0, "depth": 1, @@ -33219,12 +53550,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 314, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 313, - "end_line": 315, + "start_line": 318, + "end_line": 320, "start_column": 0, "end_column": 0, "depth": 3, @@ -33237,8 +53582,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 317, - "end_line": 319, + "start_line": 322, + "end_line": 324, "start_column": 0, "end_column": 0, "depth": 3, @@ -33251,8 +53596,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 321, - "end_line": 327, + "start_line": 326, + "end_line": 332, "start_column": 0, "end_column": 0, "depth": 3, @@ -33265,8 +53610,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 322, - "end_line": 326, + "start_line": 327, + "end_line": 331, "start_column": 0, "end_column": 0, "depth": 6, @@ -33279,8 +53624,8 @@ "type": "class", "name": "QRBox", "full_name": "", - "start_line": 330, - "end_line": 334, + "start_line": 335, + "end_line": 339, "start_column": 0, "end_column": 0, "depth": 1, @@ -33293,8 +53638,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 331, - "end_line": 333, + "start_line": 336, + "end_line": 338, "start_column": 0, "end_column": 0, "depth": 3, @@ -33308,36 +53653,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 63, + "total_nodes": 64, "max_depth": 21, "node_type_counts": { - "class": 5, - "function": 29, + "variable": 9, + "function": 30, "for_loop": 3, "file_root": 1, - "if_statement": 12, + "class": 5, "import": 4, - "variable": 9 + "if_statement": 12 }, "classes": 5, - "functions": 29, + "functions": 30, "methods": 0, "variables": 9, "control_structures": 15 }, - "generated_at": "2025-08-13T11:36:21.739164063Z" + "generated_at": "2025-08-15T16:17:53.919979972Z" }, { "file_info": { "name": "random_box.rs", "path": "src/boxes/random_box.rs", "size_bytes": 0, - "total_lines": 299, - "code_lines": 171, - "comment_lines": 91, - "empty_lines": 37, - "code_ratio": 0.5719063545150501, - "analyzed_at": "2025-08-13T11:36:21.739161795Z", + "total_lines": 315, + "code_lines": 183, + "comment_lines": 92, + "empty_lines": 40, + "code_ratio": 0.580952380952381, + "analyzed_at": "2025-08-15T16:17:53.920786557Z", "metadata": {} }, "language": "rust", @@ -33351,15 +53696,28 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { "name": "RandomBox", "parent_class": null, "start_line": 84, - "end_line": 247, + "end_line": 93, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "RandomBox", + "parent_class": null, + "start_line": 95, + "end_line": 258, "methods": [], "properties": [], "member_variables": [], @@ -33370,8 +53728,8 @@ { "name": "RandomBox", "parent_class": null, - "start_line": 249, - "end_line": 271, + "start_line": 260, + "end_line": 287, "methods": [], "properties": [], "member_variables": [], @@ -33383,21 +53741,21 @@ { "name": "RandomBox", "parent_class": null, - "start_line": 273, - "end_line": 293, + "start_line": 289, + "end_line": 309, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "BoxCore", - "type": "impl" + "type": "impl", + "implementing_trait": "BoxCore" } }, { "name": "RandomBox", "parent_class": null, - "start_line": 295, - "end_line": 299, + "start_line": 311, + "end_line": 315, "methods": [], "properties": [], "member_variables": [], @@ -33409,9 +53767,29 @@ ], "functions": [ { - "name": "new", + "name": "clone", "start_line": 85, - "end_line": 96, + "end_line": 92, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 96, + "end_line": 107, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -33429,8 +53807,8 @@ }, { "name": "seed", - "start_line": 99, - "end_line": 106, + "start_line": 110, + "end_line": 117, "parameters": [ "&self", "new_seed" @@ -33445,14 +53823,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "next_random", - "start_line": 109, - "end_line": 114, + "start_line": 120, + "end_line": 125, "parameters": [ "&self" ], @@ -33471,52 +53849,8 @@ }, { "name": "random", - "start_line": 117, - "end_line": 121, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "randInt", - "start_line": 124, - "end_line": 139, - "parameters": [ - "&self", - "min", - "max" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "randBool", - "start_line": 142, - "end_line": 145, + "start_line": 128, + "end_line": 132, "parameters": [ "&self" ], @@ -33534,10 +53868,54 @@ "type": "function" } }, + { + "name": "randInt", + "start_line": 135, + "end_line": 150, + "parameters": [ + "&self", + "min", + "max" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "randBool", + "start_line": 153, + "end_line": 156, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, { "name": "choice", - "start_line": 148, - "end_line": 161, + "start_line": 159, + "end_line": 172, "parameters": [ "&self", "array" @@ -33558,8 +53936,8 @@ }, { "name": "shuffle", - "start_line": 164, - "end_line": 202, + "start_line": 175, + "end_line": 213, "parameters": [ "&self", "array" @@ -33580,8 +53958,8 @@ }, { "name": "randString", - "start_line": 205, - "end_line": 224, + "start_line": 216, + "end_line": 235, "parameters": [ "&self", "length" @@ -33602,8 +53980,8 @@ }, { "name": "probability", - "start_line": 227, - "end_line": 246, + "start_line": 238, + "end_line": 257, "parameters": [ "&self", "prob" @@ -33618,14 +53996,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "type_name", - "start_line": 250, - "end_line": 252, + "start_line": 261, + "end_line": 263, "parameters": [ "&self" ], @@ -33644,8 +54022,8 @@ }, { "name": "to_string_box", - "start_line": 254, - "end_line": 256, + "start_line": 265, + "end_line": 267, "parameters": [ "&self" ], @@ -33664,8 +54042,8 @@ }, { "name": "clone_box", - "start_line": 258, - "end_line": 260, + "start_line": 269, + "end_line": 271, "parameters": [ "&self" ], @@ -33683,28 +54061,7 @@ } }, { - "name": "equals", - "start_line": 262, - "end_line": 268, - "parameters": [ - "&self", - "other: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "box_id", + "name": "share_box", "start_line": 274, "end_line": 276, "parameters": [ @@ -33724,9 +54081,50 @@ } }, { - "name": "parent_type_id", + "name": "equals", "start_line": 278, - "end_line": 280, + "end_line": 284, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 290, + "end_line": 292, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 294, + "end_line": 296, "parameters": [ "&self" ], @@ -33745,8 +54143,8 @@ }, { "name": "fmt_box", - "start_line": 282, - "end_line": 284, + "start_line": 298, + "end_line": 300, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -33766,8 +54164,8 @@ }, { "name": "as_any", - "start_line": 286, - "end_line": 288, + "start_line": 302, + "end_line": 304, "parameters": [ "&self" ], @@ -33786,8 +54184,8 @@ }, { "name": "as_any_mut", - "start_line": 290, - "end_line": 292, + "start_line": 306, + "end_line": 308, "parameters": [ "&mut self" ], @@ -33806,8 +54204,8 @@ }, { "name": "fmt", - "start_line": 296, - "end_line": 298, + "start_line": 312, + "end_line": 314, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -33861,7 +54259,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::RwLock", "imported_names": [], "alias": null, "line_number": 74, @@ -33881,8 +54279,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 5, - "function_count": 20, + "class_count": 6, + "function_count": 22, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -33989,7 +54387,49 @@ "name": "RandomBox", "full_name": "", "start_line": 84, - "end_line": 247, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 85, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RandomBox", + "full_name": "", + "start_line": 95, + "end_line": 258, "start_column": 0, "end_column": 0, "depth": 1, @@ -34002,8 +54442,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 85, - "end_line": 96, + "start_line": 96, + "end_line": 107, "start_column": 0, "end_column": 0, "depth": 3, @@ -34016,8 +54456,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 87, - "end_line": 90, + "start_line": 98, + "end_line": 101, "start_column": 0, "end_column": 0, "depth": 5, @@ -34030,8 +54470,8 @@ "type": "function", "name": "seed", "full_name": "", - "start_line": 99, - "end_line": 106, + "start_line": 110, + "end_line": 117, "start_column": 0, "end_column": 0, "depth": 3, @@ -34044,8 +54484,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 100, - "end_line": 105, + "start_line": 111, + "end_line": 116, "start_column": 0, "end_column": 0, "depth": 6, @@ -34058,8 +54498,8 @@ "type": "function", "name": "next_random", "full_name": "", - "start_line": 109, - "end_line": 114, + "start_line": 120, + "end_line": 125, "start_column": 0, "end_column": 0, "depth": 3, @@ -34072,8 +54512,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 110, - "end_line": 110, + "start_line": 121, + "end_line": 121, "start_column": 0, "end_column": 0, "depth": 5, @@ -34086,8 +54526,8 @@ "type": "function", "name": "random", "full_name": "", - "start_line": 117, - "end_line": 121, + "start_line": 128, + "end_line": 132, "start_column": 0, "end_column": 0, "depth": 3, @@ -34100,8 +54540,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 118, - "end_line": 118, + "start_line": 129, + "end_line": 129, "start_column": 0, "end_column": 0, "depth": 5, @@ -34114,8 +54554,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 119, - "end_line": 119, + "start_line": 130, + "end_line": 130, "start_column": 0, "end_column": 0, "depth": 5, @@ -34128,8 +54568,8 @@ "type": "function", "name": "randInt", "full_name": "", - "start_line": 124, - "end_line": 139, + "start_line": 135, + "end_line": 150, "start_column": 0, "end_column": 0, "depth": 3, @@ -34142,8 +54582,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 125, - "end_line": 138, + "start_line": 136, + "end_line": 149, "start_column": 0, "end_column": 0, "depth": 6, @@ -34156,8 +54596,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 129, - "end_line": 131, + "start_line": 140, + "end_line": 142, "start_column": 0, "end_column": 0, "depth": 9, @@ -34170,8 +54610,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 133, - "end_line": 133, + "start_line": 144, + "end_line": 144, "start_column": 0, "end_column": 0, "depth": 8, @@ -34184,8 +54624,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 134, - "end_line": 134, + "start_line": 145, + "end_line": 145, "start_column": 0, "end_column": 0, "depth": 8, @@ -34198,8 +54638,8 @@ "type": "function", "name": "randBool", "full_name": "", - "start_line": 142, - "end_line": 145, + "start_line": 153, + "end_line": 156, "start_column": 0, "end_column": 0, "depth": 3, @@ -34212,8 +54652,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 143, - "end_line": 143, + "start_line": 154, + "end_line": 154, "start_column": 0, "end_column": 0, "depth": 5, @@ -34226,38 +54666,38 @@ "type": "function", "name": "choice", "full_name": "", - "start_line": 148, + "start_line": 159, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 161, "end_line": 161, "start_column": 0, "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 149, - "end_line": 160, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 150, - "end_line": 150, - "start_column": 0, - "end_column": 0, "depth": 8, "scope_path": "", "children": [], @@ -34268,8 +54708,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 151, - "end_line": 153, + "start_line": 162, + "end_line": 164, "start_column": 0, "end_column": 0, "depth": 9, @@ -34278,48 +54718,6 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 155, - "end_line": 155, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "shuffle", - "full_name": "", - "start_line": 164, - "end_line": 202, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 165, - "end_line": 201, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", @@ -34334,15 +54732,29 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "shuffle", + "full_name": "", + "start_line": 175, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 167, - "end_line": 169, + "start_line": 176, + "end_line": 212, "start_column": 0, "end_column": 0, - "depth": 9, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, @@ -34352,8 +54764,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 172, - "end_line": 172, + "start_line": 177, + "end_line": 177, "start_column": 0, "end_column": 0, "depth": 8, @@ -34362,34 +54774,6 @@ "attributes": {}, "source_text": null }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 175, - "end_line": 181, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 176, - "end_line": 176, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", @@ -34398,6 +54782,62 @@ "end_line": 180, "start_column": 0, "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 187, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 191, + "start_column": 0, + "end_column": 0, "depth": 12, "scope_path": "", "children": [], @@ -34408,8 +54848,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 185, - "end_line": 185, + "start_line": 196, + "end_line": 196, "start_column": 0, "end_column": 0, "depth": 8, @@ -34422,8 +54862,8 @@ "type": "variable", "name": "Vec", "full_name": "", - "start_line": 186, - "end_line": 186, + "start_line": 197, + "end_line": 197, "start_column": 0, "end_column": 0, "depth": 8, @@ -34436,8 +54876,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 188, - "end_line": 196, + "start_line": 199, + "end_line": 207, "start_column": 0, "end_column": 0, "depth": 9, @@ -34450,8 +54890,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 189, - "end_line": 189, + "start_line": 200, + "end_line": 200, "start_column": 0, "end_column": 0, "depth": 11, @@ -34464,8 +54904,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 190, - "end_line": 190, + "start_line": 201, + "end_line": 201, "start_column": 0, "end_column": 0, "depth": 11, @@ -34478,8 +54918,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 191, - "end_line": 191, + "start_line": 202, + "end_line": 202, "start_column": 0, "end_column": 0, "depth": 11, @@ -34492,8 +54932,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 193, - "end_line": 195, + "start_line": 204, + "end_line": 206, "start_column": 0, "end_column": 0, "depth": 12, @@ -34506,8 +54946,8 @@ "type": "function", "name": "randString", "full_name": "", - "start_line": 205, - "end_line": 224, + "start_line": 216, + "end_line": 235, "start_column": 0, "end_column": 0, "depth": 3, @@ -34520,8 +54960,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 206, - "end_line": 223, + "start_line": 217, + "end_line": 234, "start_column": 0, "end_column": 0, "depth": 6, @@ -34534,8 +54974,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 207, - "end_line": 209, + "start_line": 218, + "end_line": 220, "start_column": 0, "end_column": 0, "depth": 9, @@ -34548,8 +54988,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 211, - "end_line": 211, + "start_line": 222, + "end_line": 222, "start_column": 0, "end_column": 0, "depth": 8, @@ -34562,8 +55002,8 @@ "type": "variable", "name": "Vec", "full_name": "", - "start_line": 212, - "end_line": 212, + "start_line": 223, + "end_line": 223, "start_column": 0, "end_column": 0, "depth": 8, @@ -34576,8 +55016,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 213, - "end_line": 213, + "start_line": 224, + "end_line": 224, "start_column": 0, "end_column": 0, "depth": 8, @@ -34590,8 +55030,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 215, - "end_line": 218, + "start_line": 226, + "end_line": 229, "start_column": 0, "end_column": 0, "depth": 9, @@ -34604,8 +55044,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 216, - "end_line": 216, + "start_line": 227, + "end_line": 227, "start_column": 0, "end_column": 0, "depth": 11, @@ -34618,8 +55058,8 @@ "type": "function", "name": "probability", "full_name": "", - "start_line": 227, - "end_line": 246, + "start_line": 238, + "end_line": 257, "start_column": 0, "end_column": 0, "depth": 3, @@ -34632,8 +55072,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 228, - "end_line": 245, + "start_line": 239, + "end_line": 256, "start_column": 0, "end_column": 0, "depth": 6, @@ -34646,8 +55086,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 229, - "end_line": 231, + "start_line": 240, + "end_line": 242, "start_column": 0, "end_column": 0, "depth": 9, @@ -34660,8 +55100,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 233, - "end_line": 233, + "start_line": 244, + "end_line": 244, "start_column": 0, "end_column": 0, "depth": 8, @@ -34674,8 +55114,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 235, - "end_line": 245, + "start_line": 246, + "end_line": 256, "start_column": 0, "end_column": 0, "depth": 8, @@ -34688,8 +55128,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 236, - "end_line": 236, + "start_line": 247, + "end_line": 247, "start_column": 0, "end_column": 0, "depth": 10, @@ -34702,8 +55142,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 237, - "end_line": 239, + "start_line": 248, + "end_line": 250, "start_column": 0, "end_column": 0, "depth": 11, @@ -34716,8 +55156,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 241, - "end_line": 241, + "start_line": 252, + "end_line": 252, "start_column": 0, "end_column": 0, "depth": 10, @@ -34730,8 +55170,8 @@ "type": "class", "name": "RandomBox", "full_name": "", - "start_line": 249, - "end_line": 271, + "start_line": 260, + "end_line": 287, "start_column": 0, "end_column": 0, "depth": 1, @@ -34744,8 +55184,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 250, - "end_line": 252, + "start_line": 261, + "end_line": 263, "start_column": 0, "end_column": 0, "depth": 3, @@ -34758,8 +55198,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 254, - "end_line": 256, + "start_line": 265, + "end_line": 267, "start_column": 0, "end_column": 0, "depth": 3, @@ -34772,8 +55212,8 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 258, - "end_line": 260, + "start_line": 269, + "end_line": 271, "start_column": 0, "end_column": 0, "depth": 3, @@ -34784,49 +55224,7 @@ }, { "type": "function", - "name": "equals", - "full_name": "", - "start_line": 262, - "end_line": 268, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 263, - "end_line": 267, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "RandomBox", - "full_name": "", - "start_line": 273, - "end_line": 293, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "box_id", + "name": "share_box", "full_name": "", "start_line": 274, "end_line": 276, @@ -34840,23 +55238,9 @@ }, { "type": "function", - "name": "parent_type_id", + "name": "equals", "full_name": "", "start_line": 278, - "end_line": 280, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt_box", - "full_name": "", - "start_line": 282, "end_line": 284, "start_column": 0, "end_column": 0, @@ -34867,14 +55251,28 @@ "source_text": null }, { - "type": "function", - "name": "as_any", + "type": "if_statement", + "name": "", "full_name": "", - "start_line": 286, - "end_line": 288, + "start_line": 279, + "end_line": 283, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RandomBox", + "full_name": "", + "start_line": 289, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 1, "scope_path": "", "children": [], "attributes": {}, @@ -34882,7 +55280,7 @@ }, { "type": "function", - "name": "as_any_mut", + "name": "box_id", "full_name": "", "start_line": 290, "end_line": 292, @@ -34894,12 +55292,68 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 294, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 298, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 302, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 306, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "RandomBox", "full_name": "", - "start_line": 295, - "end_line": 299, + "start_line": 311, + "end_line": 315, "start_column": 0, "end_column": 0, "depth": 1, @@ -34912,8 +55366,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 296, - "end_line": 298, + "start_line": 312, + "end_line": 314, "start_column": 0, "end_column": 0, "depth": 3, @@ -34927,36 +55381,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 74, + "total_nodes": 78, "max_depth": 12, "node_type_counts": { - "file_root": 1, - "for_loop": 3, - "variable": 24, - "function": 20, "import": 5, - "class": 5, - "if_statement": 16 + "function": 22, + "for_loop": 3, + "if_statement": 16, + "variable": 25, + "file_root": 1, + "class": 6 }, - "classes": 5, - "functions": 20, + "classes": 6, + "functions": 22, "methods": 0, - "variables": 24, + "variables": 25, "control_structures": 19 }, - "generated_at": "2025-08-13T11:36:21.739181731Z" + "generated_at": "2025-08-15T16:17:53.920807979Z" }, { "file_info": { "name": "mod.rs", "path": "src/boxes/regex/mod.rs", "size_bytes": 0, - "total_lines": 134, - "code_lines": 102, - "comment_lines": 8, - "empty_lines": 24, - "code_ratio": 0.7611940298507462, - "analyzed_at": "2025-08-13T11:36:21.752222910Z", + "total_lines": 139, + "code_lines": 105, + "comment_lines": 9, + "empty_lines": 25, + "code_ratio": 0.7553956834532374, + "analyzed_at": "2025-08-15T16:17:53.934311785Z", "metadata": {} }, "language": "rust", @@ -34990,20 +55444,20 @@ "name": "RegexBox", "parent_class": null, "start_line": 84, - "end_line": 106, + "end_line": 111, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "RegexBox", "parent_class": null, - "start_line": 108, - "end_line": 128, + "start_line": 113, + "end_line": 133, "methods": [], "properties": [], "member_variables": [], @@ -35015,14 +55469,14 @@ { "name": "RegexBox", "parent_class": null, - "start_line": 130, - "end_line": 134, + "start_line": 135, + "end_line": 139, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "std::fmt::Display" + "implementing_trait": "std::fmt::Display", + "type": "impl" } } ], @@ -35044,8 +55498,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -35109,8 +55563,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -35153,8 +55607,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -35176,8 +55630,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -35198,8 +55652,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -35223,9 +55677,9 @@ } }, { - "name": "to_string_box", - "start_line": 89, - "end_line": 91, + "name": "share_box", + "start_line": 90, + "end_line": 92, "parameters": [ "&self" ], @@ -35243,7 +55697,7 @@ } }, { - "name": "type_name", + "name": "to_string_box", "start_line": 94, "end_line": 96, "parameters": [ @@ -35263,9 +55717,29 @@ } }, { - "name": "equals", + "name": "type_name", "start_line": 99, - "end_line": 105, + "end_line": 101, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 104, + "end_line": 110, "parameters": [ "&self", "other: &dyn NyashBox" @@ -35285,8 +55759,8 @@ }, { "name": "box_id", - "start_line": 109, - "end_line": 111, + "start_line": 114, + "end_line": 116, "parameters": [ "&self" ], @@ -35305,8 +55779,8 @@ }, { "name": "parent_type_id", - "start_line": 113, - "end_line": 115, + "start_line": 118, + "end_line": 120, "parameters": [ "&self" ], @@ -35325,8 +55799,8 @@ }, { "name": "fmt_box", - "start_line": 117, - "end_line": 119, + "start_line": 122, + "end_line": 124, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -35346,8 +55820,8 @@ }, { "name": "as_any", - "start_line": 121, - "end_line": 123, + "start_line": 126, + "end_line": 128, "parameters": [ "&self" ], @@ -35366,8 +55840,8 @@ }, { "name": "as_any_mut", - "start_line": 125, - "end_line": 127, + "start_line": 130, + "end_line": 132, "parameters": [ "&mut self" ], @@ -35386,8 +55860,8 @@ }, { "name": "fmt", - "start_line": 131, - "end_line": 133, + "start_line": 136, + "end_line": 138, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -35441,7 +55915,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::Arc", "imported_names": [], "alias": null, "line_number": 9, @@ -35470,7 +55944,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 18, + "function_count": 19, "import_count": 6, "export_count": 0, "unique_calls": 0, @@ -35927,7 +56401,7 @@ "name": "RegexBox", "full_name": "", "start_line": 84, - "end_line": 106, + "end_line": 111, "start_column": 0, "end_column": 0, "depth": 1, @@ -35952,10 +56426,10 @@ }, { "type": "function", - "name": "to_string_box", + "name": "share_box", "full_name": "", - "start_line": 89, - "end_line": 91, + "start_line": 90, + "end_line": 92, "start_column": 0, "end_column": 0, "depth": 3, @@ -35966,7 +56440,7 @@ }, { "type": "function", - "name": "type_name", + "name": "to_string_box", "full_name": "", "start_line": 94, "end_line": 96, @@ -35980,10 +56454,24 @@ }, { "type": "function", - "name": "equals", + "name": "type_name", "full_name": "", "start_line": 99, - "end_line": 105, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 104, + "end_line": 110, "start_column": 0, "end_column": 0, "depth": 3, @@ -35996,8 +56484,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 100, - "end_line": 104, + "start_line": 105, + "end_line": 109, "start_column": 0, "end_column": 0, "depth": 6, @@ -36010,8 +56498,8 @@ "type": "class", "name": "RegexBox", "full_name": "", - "start_line": 108, - "end_line": 128, + "start_line": 113, + "end_line": 133, "start_column": 0, "end_column": 0, "depth": 1, @@ -36024,8 +56512,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 109, - "end_line": 111, + "start_line": 114, + "end_line": 116, "start_column": 0, "end_column": 0, "depth": 3, @@ -36038,8 +56526,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 113, - "end_line": 115, + "start_line": 118, + "end_line": 120, "start_column": 0, "end_column": 0, "depth": 3, @@ -36052,8 +56540,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 117, - "end_line": 119, + "start_line": 122, + "end_line": 124, "start_column": 0, "end_column": 0, "depth": 3, @@ -36066,8 +56554,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 121, - "end_line": 123, + "start_line": 126, + "end_line": 128, "start_column": 0, "end_column": 0, "depth": 3, @@ -36080,8 +56568,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 125, - "end_line": 127, + "start_line": 130, + "end_line": 132, "start_column": 0, "end_column": 0, "depth": 3, @@ -36094,8 +56582,8 @@ "type": "class", "name": "RegexBox", "full_name": "", - "start_line": 130, - "end_line": 134, + "start_line": 135, + "end_line": 139, "start_column": 0, "end_column": 0, "depth": 1, @@ -36108,8 +56596,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 131, - "end_line": 133, + "start_line": 136, + "end_line": 138, "start_column": 0, "end_column": 0, "depth": 3, @@ -36123,36 +56611,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 46, + "total_nodes": 47, "max_depth": 8, "node_type_counts": { - "function": 18, - "for_loop": 2, + "import": 6, "file_root": 1, - "variable": 12, "class": 5, + "function": 19, + "variable": 12, "if_statement": 2, - "import": 6 + "for_loop": 2 }, "classes": 5, - "functions": 18, + "functions": 19, "methods": 0, "variables": 12, "control_structures": 4 }, - "generated_at": "2025-08-13T11:36:21.752230721Z" + "generated_at": "2025-08-15T16:17:53.934319571Z" }, { "file_info": { "name": "mod.rs", "path": "src/boxes/result/mod.rs", "size_bytes": 0, - "total_lines": 136, - "code_lines": 104, - "comment_lines": 9, - "empty_lines": 23, - "code_ratio": 0.7647058823529411, - "analyzed_at": "2025-08-13T11:36:21.752403241Z", + "total_lines": 141, + "code_lines": 107, + "comment_lines": 10, + "empty_lines": 24, + "code_ratio": 0.7588652482269503, + "analyzed_at": "2025-08-15T16:17:53.933760260Z", "metadata": {} }, "language": "rust", @@ -36166,8 +56654,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "enum", - "modifiers": "pub" + "modifiers": "pub", + "type": "enum" } }, { @@ -36186,20 +56674,20 @@ "name": "NyashResultBox", "parent_class": null, "start_line": 39, - "end_line": 71, + "end_line": 76, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "NyashResultBox", "parent_class": null, - "start_line": 73, - "end_line": 104, + "start_line": 78, + "end_line": 109, "methods": [], "properties": [], "member_variables": [], @@ -36211,8 +56699,8 @@ { "name": "NyashResultBox", "parent_class": null, - "start_line": 106, - "end_line": 110, + "start_line": 111, + "end_line": 115, "methods": [], "properties": [], "member_variables": [], @@ -36224,8 +56712,8 @@ { "name": "ResultBox", "parent_class": null, - "start_line": 115, - "end_line": 136, + "start_line": 120, + "end_line": 141, "methods": [], "properties": [], "member_variables": [], @@ -36252,8 +56740,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -36273,8 +56761,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -36294,8 +56782,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -36336,8 +56824,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -36361,9 +56849,9 @@ } }, { - "name": "to_string_box", - "start_line": 47, - "end_line": 52, + "name": "share_box", + "start_line": 48, + "end_line": 50, "parameters": [ "&self" ], @@ -36381,8 +56869,8 @@ } }, { - "name": "type_name", - "start_line": 55, + "name": "to_string_box", + "start_line": 52, "end_line": 57, "parameters": [ "&self" @@ -36401,9 +56889,29 @@ } }, { - "name": "equals", + "name": "type_name", "start_line": 60, - "end_line": 70, + "end_line": 62, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 65, + "end_line": 75, "parameters": [ "&self", "other: &dyn NyashBox" @@ -36423,8 +56931,8 @@ }, { "name": "box_id", - "start_line": 74, - "end_line": 80, + "start_line": 79, + "end_line": 85, "parameters": [ "&self" ], @@ -36443,8 +56951,8 @@ }, { "name": "parent_type_id", - "start_line": 82, - "end_line": 88, + "start_line": 87, + "end_line": 93, "parameters": [ "&self" ], @@ -36463,8 +56971,8 @@ }, { "name": "fmt_box", - "start_line": 90, - "end_line": 95, + "start_line": 95, + "end_line": 100, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -36484,8 +56992,8 @@ }, { "name": "as_any", - "start_line": 97, - "end_line": 99, + "start_line": 102, + "end_line": 104, "parameters": [ "&self" ], @@ -36504,8 +57012,8 @@ }, { "name": "as_any_mut", - "start_line": 101, - "end_line": 103, + "start_line": 106, + "end_line": 108, "parameters": [ "&mut self" ], @@ -36524,8 +57032,8 @@ }, { "name": "fmt", - "start_line": 107, - "end_line": 109, + "start_line": 112, + "end_line": 114, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -36545,8 +57053,8 @@ }, { "name": "is_ok", - "start_line": 117, - "end_line": 119, + "start_line": 122, + "end_line": 124, "parameters": [ "&self" ], @@ -36566,8 +57074,8 @@ }, { "name": "get_value", - "start_line": 122, - "end_line": 127, + "start_line": 127, + "end_line": 132, "parameters": [ "&self" ], @@ -36587,8 +57095,8 @@ }, { "name": "get_error", - "start_line": 130, - "end_line": 135, + "start_line": 135, + "end_line": 140, "parameters": [ "&self" ], @@ -36602,8 +57110,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } } ], @@ -36639,7 +57147,7 @@ "metadata": {}, "stats": { "class_count": 6, - "function_count": 18, + "function_count": 19, "import_count": 2, "export_count": 0, "unique_calls": 0, @@ -36788,7 +57296,7 @@ "name": "NyashResultBox", "full_name": "", "start_line": 39, - "end_line": 71, + "end_line": 76, "start_column": 0, "end_column": 0, "depth": 1, @@ -36811,12 +57319,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 48, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 47, - "end_line": 52, + "start_line": 52, + "end_line": 57, "start_column": 0, "end_column": 0, "depth": 3, @@ -36829,8 +57351,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 55, - "end_line": 57, + "start_line": 60, + "end_line": 62, "start_column": 0, "end_column": 0, "depth": 3, @@ -36843,8 +57365,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 60, - "end_line": 70, + "start_line": 65, + "end_line": 75, "start_column": 0, "end_column": 0, "depth": 3, @@ -36857,8 +57379,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 61, - "end_line": 69, + "start_line": 66, + "end_line": 74, "start_column": 0, "end_column": 0, "depth": 6, @@ -36871,8 +57393,8 @@ "type": "class", "name": "NyashResultBox", "full_name": "", - "start_line": 73, - "end_line": 104, + "start_line": 78, + "end_line": 109, "start_column": 0, "end_column": 0, "depth": 1, @@ -36885,8 +57407,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 74, - "end_line": 80, + "start_line": 79, + "end_line": 85, "start_column": 0, "end_column": 0, "depth": 3, @@ -36899,8 +57421,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 82, - "end_line": 88, + "start_line": 87, + "end_line": 93, "start_column": 0, "end_column": 0, "depth": 3, @@ -36913,8 +57435,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 90, - "end_line": 95, + "start_line": 95, + "end_line": 100, "start_column": 0, "end_column": 0, "depth": 3, @@ -36927,8 +57449,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 97, - "end_line": 99, + "start_line": 102, + "end_line": 104, "start_column": 0, "end_column": 0, "depth": 3, @@ -36941,8 +57463,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 101, - "end_line": 103, + "start_line": 106, + "end_line": 108, "start_column": 0, "end_column": 0, "depth": 3, @@ -36955,8 +57477,8 @@ "type": "class", "name": "NyashResultBox", "full_name": "", - "start_line": 106, - "end_line": 110, + "start_line": 111, + "end_line": 115, "start_column": 0, "end_column": 0, "depth": 1, @@ -36969,8 +57491,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 107, - "end_line": 109, + "start_line": 112, + "end_line": 114, "start_column": 0, "end_column": 0, "depth": 3, @@ -36983,8 +57505,8 @@ "type": "class", "name": "ResultBox", "full_name": "", - "start_line": 115, - "end_line": 136, + "start_line": 120, + "end_line": 141, "start_column": 0, "end_column": 0, "depth": 1, @@ -36997,8 +57519,8 @@ "type": "function", "name": "is_ok", "full_name": "", - "start_line": 117, - "end_line": 119, + "start_line": 122, + "end_line": 124, "start_column": 0, "end_column": 0, "depth": 3, @@ -37011,8 +57533,8 @@ "type": "function", "name": "get_value", "full_name": "", - "start_line": 122, - "end_line": 127, + "start_line": 127, + "end_line": 132, "start_column": 0, "end_column": 0, "depth": 3, @@ -37025,8 +57547,8 @@ "type": "function", "name": "get_error", "full_name": "", - "start_line": 130, - "end_line": 135, + "start_line": 135, + "end_line": 140, "start_column": 0, "end_column": 0, "depth": 3, @@ -37040,34 +57562,34 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 28, + "total_nodes": 29, "max_depth": 6, "node_type_counts": { - "if_statement": 1, "import": 2, - "file_root": 1, "class": 6, - "function": 18 + "file_root": 1, + "function": 19, + "if_statement": 1 }, "classes": 6, - "functions": 18, + "functions": 19, "methods": 0, "variables": 0, "control_structures": 1 }, - "generated_at": "2025-08-13T11:36:21.752410457Z" + "generated_at": "2025-08-15T16:17:53.933767293Z" }, { "file_info": { "name": "simple_intent_box.rs", "path": "src/boxes/simple_intent_box.rs", "size_bytes": 0, - "total_lines": 233, - "code_lines": 57, + "total_lines": 248, + "code_lines": 69, "comment_lines": 162, - "empty_lines": 14, - "code_ratio": 0.2446351931330472, - "analyzed_at": "2025-08-13T11:36:21.741252030Z", + "empty_lines": 17, + "code_ratio": 0.2782258064516129, + "analyzed_at": "2025-08-15T16:17:53.918897115Z", "metadata": {} }, "language": "rust", @@ -37089,7 +57611,20 @@ "name": "SimpleIntentBox", "parent_class": null, "start_line": 174, - "end_line": 181, + "end_line": 183, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "SimpleIntentBox", + "parent_class": null, + "start_line": 185, + "end_line": 192, "methods": [], "properties": [], "member_variables": [], @@ -37100,8 +57635,8 @@ { "name": "SimpleIntentBox", "parent_class": null, - "start_line": 183, - "end_line": 200, + "start_line": 194, + "end_line": 214, "methods": [], "properties": [], "member_variables": [], @@ -37113,35 +57648,55 @@ { "name": "SimpleIntentBox", "parent_class": null, - "start_line": 202, - "end_line": 227, + "start_line": 216, + "end_line": 242, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "NyashBox", - "type": "impl" + "type": "impl", + "implementing_trait": "NyashBox" } }, { "name": "SimpleIntentBox", "parent_class": null, - "start_line": 229, - "end_line": 233, + "start_line": 244, + "end_line": 248, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "std::fmt::Display", - "type": "impl" + "type": "impl", + "implementing_trait": "std::fmt::Display" } } ], "functions": [ { - "name": "new", + "name": "clone", "start_line": 175, - "end_line": 180, + "end_line": 182, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 186, + "end_line": 191, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -37159,8 +57714,8 @@ }, { "name": "box_id", - "start_line": 184, - "end_line": 186, + "start_line": 195, + "end_line": 197, "parameters": [ "&self" ], @@ -37179,8 +57734,8 @@ }, { "name": "parent_type_id", - "start_line": 188, - "end_line": 190, + "start_line": 199, + "end_line": 201, "parameters": [ "&self" ], @@ -37199,8 +57754,8 @@ }, { "name": "fmt_box", - "start_line": 192, - "end_line": 194, + "start_line": 203, + "end_line": 205, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -37218,10 +57773,30 @@ "type": "function" } }, + { + "name": "as_any", + "start_line": 207, + "end_line": 209, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "as_any_mut", - "start_line": 197, - "end_line": 199, + "start_line": 211, + "end_line": 213, "parameters": [ "&mut self" ], @@ -37240,8 +57815,8 @@ }, { "name": "to_string_box", - "start_line": 203, - "end_line": 205, + "start_line": 217, + "end_line": 219, "parameters": [ "&self" ], @@ -37260,8 +57835,8 @@ }, { "name": "equals", - "start_line": 207, - "end_line": 213, + "start_line": 221, + "end_line": 227, "parameters": [ "&self", "other: &dyn NyashBox" @@ -37281,8 +57856,8 @@ }, { "name": "type_name", - "start_line": 215, - "end_line": 217, + "start_line": 229, + "end_line": 231, "parameters": [ "&self" ], @@ -37301,8 +57876,28 @@ }, { "name": "clone_box", - "start_line": 219, - "end_line": 225, + "start_line": 233, + "end_line": 235, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 238, + "end_line": 240, "parameters": [ "&self" ], @@ -37321,8 +57916,8 @@ }, { "name": "fmt", - "start_line": 230, - "end_line": 232, + "start_line": 245, + "end_line": 247, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -37360,7 +57955,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::RwLock", "imported_names": [], "alias": null, "line_number": 164, @@ -37388,8 +57983,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 5, - "function_count": 10, + "class_count": 6, + "function_count": 13, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -37482,7 +58077,49 @@ "name": "SimpleIntentBox", "full_name": "", "start_line": 174, - "end_line": 181, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 175, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 176, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SimpleIntentBox", + "full_name": "", + "start_line": 185, + "end_line": 192, "start_column": 0, "end_column": 0, "depth": 1, @@ -37495,8 +58132,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 175, - "end_line": 180, + "start_line": 186, + "end_line": 191, "start_column": 0, "end_column": 0, "depth": 3, @@ -37509,8 +58146,8 @@ "type": "class", "name": "SimpleIntentBox", "full_name": "", - "start_line": 183, - "end_line": 200, + "start_line": 194, + "end_line": 214, "start_column": 0, "end_column": 0, "depth": 1, @@ -37523,8 +58160,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 184, - "end_line": 186, + "start_line": 195, + "end_line": 197, "start_column": 0, "end_column": 0, "depth": 3, @@ -37537,8 +58174,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 188, - "end_line": 190, + "start_line": 199, + "end_line": 201, "start_column": 0, "end_column": 0, "depth": 3, @@ -37551,48 +58188,6 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 192, - "end_line": 194, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "as_any_mut", - "full_name": "", - "start_line": 197, - "end_line": 199, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "SimpleIntentBox", - "full_name": "", - "start_line": 202, - "end_line": 227, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "to_string_box", - "full_name": "", "start_line": 203, "end_line": 205, "start_column": 0, @@ -37605,9 +58200,23 @@ }, { "type": "function", - "name": "equals", + "name": "as_any", "full_name": "", "start_line": 207, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 211, "end_line": 213, "start_column": 0, "end_column": 0, @@ -37617,54 +58226,110 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 208, - "end_line": 212, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "type_name", - "full_name": "", - "start_line": 215, - "end_line": 217, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "clone_box", - "full_name": "", - "start_line": 219, - "end_line": 225, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "class", "name": "SimpleIntentBox", "full_name": "", + "start_line": 216, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 217, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 221, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", "start_line": 229, - "end_line": 233, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 233, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 238, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SimpleIntentBox", + "full_name": "", + "start_line": 244, + "end_line": 248, "start_column": 0, "end_column": 0, "depth": 1, @@ -37677,8 +58342,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 230, - "end_line": 232, + "start_line": 245, + "end_line": 247, "start_column": 0, "end_column": 0, "depth": 3, @@ -37692,34 +58357,1909 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 21, + "total_nodes": 26, "max_depth": 6, "node_type_counts": { - "function": 10, - "class": 5, + "if_statement": 1, + "variable": 1, + "class": 6, "file_root": 1, - "import": 4, - "if_statement": 1 + "function": 13, + "import": 4 }, - "classes": 5, - "functions": 10, + "classes": 6, + "functions": 13, "methods": 0, - "variables": 0, + "variables": 1, "control_structures": 1 }, - "generated_at": "2025-08-13T11:36:21.741266536Z" + "generated_at": "2025-08-15T16:17:53.918911288Z" + }, + { + "file_info": { + "name": "socket_box.rs", + "path": "src/boxes/socket_box.rs", + "size_bytes": 0, + "total_lines": 510, + "code_lines": 367, + "comment_lines": 83, + "empty_lines": 60, + "code_ratio": 0.7196078431372549, + "analyzed_at": "2025-08-15T16:17:53.921065900Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "SocketBox", + "parent_class": null, + "start_line": 46, + "end_line": 55, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 57, + "end_line": 71, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 73, + "end_line": 381, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 383, + "end_line": 448, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 450, + "end_line": 496, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 498, + "end_line": 502, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 505, + "end_line": 510, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Drop" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 58, + "end_line": 70, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 74, + "end_line": 82, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "bind", + "start_line": 85, + "end_line": 156, + "parameters": [ + "&self", + "address", + "port" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "listen", + "start_line": 159, + "end_line": 185, + "parameters": [ + "&self", + "backlog" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "accept", + "start_line": 188, + "end_line": 210, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "connect", + "start_line": 213, + "end_line": 235, + "parameters": [ + "&self", + "address", + "port" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "read", + "start_line": 238, + "end_line": 274, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "read_http_request", + "start_line": 277, + "end_line": 317, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "write", + "start_line": 320, + "end_line": 343, + "parameters": [ + "&self", + "data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "close", + "start_line": 346, + "end_line": 352, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_connected", + "start_line": 355, + "end_line": 357, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_server", + "start_line": 360, + "end_line": 380, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 384, + "end_line": 386, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 389, + "end_line": 398, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 400, + "end_line": 435, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 437, + "end_line": 439, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 441, + "end_line": 447, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 451, + "end_line": 453, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 455, + "end_line": 457, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 459, + "end_line": 487, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 489, + "end_line": 491, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 493, + "end_line": 495, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 499, + "end_line": 501, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "drop", + "start_line": 506, + "end_line": 509, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 37, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 38, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::net::{TcpListener, TcpStream}", + "imported_names": [], + "alias": null, + "line_number": 39, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::io::{Write, BufRead, BufReader}", + "imported_names": [], + "alias": null, + "line_number": 40, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, RwLock}", + "imported_names": [], + "alias": null, + "line_number": 41, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::time::Duration", + "imported_names": [], + "alias": null, + "line_number": 42, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 24, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 38, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 46, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 57, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 58, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 73, + "end_line": 381, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 74, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "bind", + "full_name": "", + "start_line": 85, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "listen", + "full_name": "", + "start_line": 159, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 168, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "accept", + "full_name": "", + "start_line": 188, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 190, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "connect", + "full_name": "", + "start_line": 213, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read", + "full_name": "", + "start_line": 238, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 246, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 247, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 252, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 254, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read_http_request", + "full_name": "", + "start_line": 277, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 278, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 279, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 284, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 289, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 296, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "write", + "full_name": "", + "start_line": 320, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 321, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 323, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 324, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "close", + "full_name": "", + "start_line": 346, + "end_line": 352, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_connected", + "full_name": "", + "start_line": 355, + "end_line": 357, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_server", + "full_name": "", + "start_line": 360, + "end_line": 380, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 383, + "end_line": 448, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 384, + "end_line": 386, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 389, + "end_line": 398, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 390, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 400, + "end_line": 435, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 404, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 415, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 426, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 426, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 428, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 437, + "end_line": 439, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 441, + "end_line": 447, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 442, + "end_line": 446, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 450, + "end_line": 496, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 451, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 455, + "end_line": 457, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 459, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 462, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 470, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 478, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 478, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 480, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 489, + "end_line": 491, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 493, + "end_line": 495, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 498, + "end_line": 502, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 499, + "end_line": 501, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 505, + "end_line": 510, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "drop", + "full_name": "", + "start_line": 506, + "end_line": 509, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 508, + "end_line": 508, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 84, + "max_depth": 22, + "node_type_counts": { + "import": 6, + "file_root": 1, + "class": 7, + "function": 24, + "for_loop": 1, + "variable": 32, + "if_statement": 13 + }, + "classes": 7, + "functions": 24, + "methods": 0, + "variables": 32, + "control_structures": 14 + }, + "generated_at": "2025-08-15T16:17:53.921094420Z" }, { "file_info": { "name": "sound_box.rs", "path": "src/boxes/sound_box.rs", "size_bytes": 0, - "total_lines": 366, - "code_lines": 174, - "comment_lines": 160, - "empty_lines": 32, - "code_ratio": 0.47540983606557374, - "analyzed_at": "2025-08-13T11:36:21.743491890Z", + "total_lines": 371, + "code_lines": 177, + "comment_lines": 161, + "empty_lines": 33, + "code_ratio": 0.477088948787062, + "analyzed_at": "2025-08-15T16:17:53.920820701Z", "metadata": {} }, "language": "rust", @@ -37753,33 +60293,33 @@ "name": "SoundBox", "parent_class": null, "start_line": 316, - "end_line": 338, + "end_line": 343, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "SoundBox", "parent_class": null, - "start_line": 340, - "end_line": 360, + "start_line": 345, + "end_line": 365, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" + "implementing_trait": "BoxCore", + "type": "impl" } }, { "name": "SoundBox", "parent_class": null, - "start_line": 362, - "end_line": 366, + "start_line": 367, + "end_line": 371, "methods": [], "properties": [], "member_variables": [], @@ -37805,8 +60345,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -37848,8 +60388,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -37892,8 +60432,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -38064,10 +60604,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 330, + "end_line": 332, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "equals", - "start_line": 329, - "end_line": 335, + "start_line": 334, + "end_line": 340, "parameters": [ "&self", "other: &dyn NyashBox" @@ -38087,8 +60647,8 @@ }, { "name": "box_id", - "start_line": 341, - "end_line": 343, + "start_line": 346, + "end_line": 348, "parameters": [ "&self" ], @@ -38107,8 +60667,8 @@ }, { "name": "parent_type_id", - "start_line": 345, - "end_line": 347, + "start_line": 350, + "end_line": 352, "parameters": [ "&self" ], @@ -38127,8 +60687,8 @@ }, { "name": "fmt_box", - "start_line": 349, - "end_line": 351, + "start_line": 354, + "end_line": 356, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -38148,8 +60708,8 @@ }, { "name": "as_any", - "start_line": 353, - "end_line": 355, + "start_line": 358, + "end_line": 360, "parameters": [ "&self" ], @@ -38168,8 +60728,8 @@ }, { "name": "as_any_mut", - "start_line": 357, - "end_line": 359, + "start_line": 362, + "end_line": 364, "parameters": [ "&mut self" ], @@ -38188,8 +60748,8 @@ }, { "name": "fmt", - "start_line": 363, - "end_line": 365, + "start_line": 368, + "end_line": 370, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -38264,7 +60824,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 20, + "function_count": 21, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -38735,7 +61295,7 @@ "name": "SoundBox", "full_name": "", "start_line": 316, - "end_line": 338, + "end_line": 343, "start_column": 0, "end_column": 0, "depth": 1, @@ -38786,12 +61346,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 330, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "equals", "full_name": "", - "start_line": 329, - "end_line": 335, + "start_line": 334, + "end_line": 340, "start_column": 0, "end_column": 0, "depth": 3, @@ -38804,8 +61378,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 330, - "end_line": 334, + "start_line": 335, + "end_line": 339, "start_column": 0, "end_column": 0, "depth": 6, @@ -38818,8 +61392,8 @@ "type": "class", "name": "SoundBox", "full_name": "", - "start_line": 340, - "end_line": 360, + "start_line": 345, + "end_line": 365, "start_column": 0, "end_column": 0, "depth": 1, @@ -38832,8 +61406,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 341, - "end_line": 343, + "start_line": 346, + "end_line": 348, "start_column": 0, "end_column": 0, "depth": 3, @@ -38846,8 +61420,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 345, - "end_line": 347, + "start_line": 350, + "end_line": 352, "start_column": 0, "end_column": 0, "depth": 3, @@ -38860,8 +61434,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 349, - "end_line": 351, + "start_line": 354, + "end_line": 356, "start_column": 0, "end_column": 0, "depth": 3, @@ -38874,8 +61448,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 353, - "end_line": 355, + "start_line": 358, + "end_line": 360, "start_column": 0, "end_column": 0, "depth": 3, @@ -38888,8 +61462,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 357, - "end_line": 359, + "start_line": 362, + "end_line": 364, "start_column": 0, "end_column": 0, "depth": 3, @@ -38902,8 +61476,8 @@ "type": "class", "name": "SoundBox", "full_name": "", - "start_line": 362, - "end_line": 366, + "start_line": 367, + "end_line": 371, "start_column": 0, "end_column": 0, "depth": 1, @@ -38916,8 +61490,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 363, - "end_line": 365, + "start_line": 368, + "end_line": 370, "start_column": 0, "end_column": 0, "depth": 3, @@ -38931,36 +61505,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 47, + "total_nodes": 48, "max_depth": 12, "node_type_counts": { - "variable": 1, "if_statement": 11, - "function": 20, - "class": 5, - "import": 5, "for_loop": 4, - "file_root": 1 + "variable": 1, + "file_root": 1, + "class": 5, + "function": 21, + "import": 5 }, "classes": 5, - "functions": 20, + "functions": 21, "methods": 0, "variables": 1, "control_structures": 15 }, - "generated_at": "2025-08-13T11:36:21.743513856Z" + "generated_at": "2025-08-15T16:17:53.920839972Z" }, { "file_info": { "name": "mod.rs", "path": "src/boxes/stream/mod.rs", "size_bytes": 0, - "total_lines": 200, - "code_lines": 154, - "comment_lines": 15, - "empty_lines": 31, - "code_ratio": 0.77, - "analyzed_at": "2025-08-13T11:36:21.762991950Z", + "total_lines": 230, + "code_lines": 178, + "comment_lines": 18, + "empty_lines": 34, + "code_ratio": 0.7739130434782608, + "analyzed_at": "2025-08-15T16:17:53.938106425Z", "metadata": {} }, "language": "rust", @@ -38968,8 +61542,8 @@ { "name": "NyashStreamBox", "parent_class": null, - "start_line": 13, - "end_line": 17, + "start_line": 12, + "end_line": 16, "methods": [], "properties": [], "member_variables": [], @@ -38981,8 +61555,8 @@ { "name": "NyashStreamBox", "parent_class": null, - "start_line": 19, - "end_line": 137, + "start_line": 18, + "end_line": 136, "methods": [], "properties": [], "member_variables": [], @@ -38993,8 +61567,8 @@ { "name": "NyashStreamBox", "parent_class": null, - "start_line": 139, - "end_line": 167, + "start_line": 138, + "end_line": 171, "methods": [], "properties": [], "member_variables": [], @@ -39006,8 +61580,8 @@ { "name": "NyashStreamBox", "parent_class": null, - "start_line": 169, - "end_line": 191, + "start_line": 173, + "end_line": 195, "methods": [], "properties": [], "member_variables": [], @@ -39019,8 +61593,34 @@ { "name": "NyashStreamBox", "parent_class": null, - "start_line": 193, - "end_line": 197, + "start_line": 198, + "end_line": 208, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "NyashStreamBox", + "parent_class": null, + "start_line": 211, + "end_line": 221, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Debug" + } + }, + { + "name": "NyashStreamBox", + "parent_class": null, + "start_line": 223, + "end_line": 227, "methods": [], "properties": [], "member_variables": [], @@ -39033,8 +61633,8 @@ "functions": [ { "name": "new", - "start_line": 20, - "end_line": 26, + "start_line": 19, + "end_line": 25, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -39052,8 +61652,8 @@ }, { "name": "from_data", - "start_line": 28, - "end_line": 34, + "start_line": 27, + "end_line": 33, "parameters": [ "data" ], @@ -39067,14 +61667,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "read", - "start_line": 36, - "end_line": 50, + "start_line": 35, + "end_line": 49, "parameters": [ "&self", "buf: &mut [u8]" @@ -39095,8 +61695,8 @@ }, { "name": "write", - "start_line": 52, - "end_line": 56, + "start_line": 51, + "end_line": 55, "parameters": [ "&self", "buf: &[u8]" @@ -39111,14 +61711,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "len", - "start_line": 58, - "end_line": 60, + "start_line": 57, + "end_line": 59, "parameters": [ "&self" ], @@ -39132,14 +61732,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "position", - "start_line": 62, - "end_line": 64, + "start_line": 61, + "end_line": 63, "parameters": [ "&self" ], @@ -39159,8 +61759,8 @@ }, { "name": "reset", - "start_line": 66, - "end_line": 68, + "start_line": 65, + "end_line": 67, "parameters": [ "&self" ], @@ -39174,14 +61774,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "stream_write", - "start_line": 71, - "end_line": 102, + "start_line": 70, + "end_line": 101, "parameters": [ "&self", "data" @@ -39202,8 +61802,8 @@ }, { "name": "stream_read", - "start_line": 105, - "end_line": 120, + "start_line": 104, + "end_line": 119, "parameters": [ "&self", "count" @@ -39218,14 +61818,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "get_position", - "start_line": 123, - "end_line": 125, + "start_line": 122, + "end_line": 124, "parameters": [ "&self" ], @@ -39245,8 +61845,8 @@ }, { "name": "get_length", - "start_line": 128, - "end_line": 130, + "start_line": 127, + "end_line": 129, "parameters": [ "&self" ], @@ -39266,8 +61866,8 @@ }, { "name": "stream_reset", - "start_line": 133, - "end_line": 136, + "start_line": 132, + "end_line": 135, "parameters": [ "&self" ], @@ -39287,8 +61887,28 @@ }, { "name": "clone_box", - "start_line": 140, - "end_line": 142, + "start_line": 139, + "end_line": 141, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 144, + "end_line": 146, "parameters": [ "&self" ], @@ -39307,8 +61927,8 @@ }, { "name": "to_string_box", - "start_line": 144, - "end_line": 148, + "start_line": 148, + "end_line": 152, "parameters": [ "&self" ], @@ -39327,8 +61947,8 @@ }, { "name": "type_name", - "start_line": 151, - "end_line": 153, + "start_line": 155, + "end_line": 157, "parameters": [ "&self" ], @@ -39347,8 +61967,8 @@ }, { "name": "equals", - "start_line": 156, - "end_line": 166, + "start_line": 160, + "end_line": 170, "parameters": [ "&self", "other: &dyn NyashBox" @@ -39368,26 +61988,6 @@ }, { "name": "box_id", - "start_line": 170, - "end_line": 172, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "parent_type_id", "start_line": 174, "end_line": 176, "parameters": [ @@ -39407,9 +62007,29 @@ } }, { - "name": "fmt_box", + "name": "parent_type_id", "start_line": 178, - "end_line": 182, + "end_line": 180, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 182, + "end_line": 186, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -39429,8 +62049,8 @@ }, { "name": "as_any", - "start_line": 184, - "end_line": 186, + "start_line": 188, + "end_line": 190, "parameters": [ "&self" ], @@ -39449,8 +62069,8 @@ }, { "name": "as_any_mut", - "start_line": 188, - "end_line": 190, + "start_line": 192, + "end_line": 194, "parameters": [ "&mut self" ], @@ -39467,10 +62087,51 @@ "type": "function" } }, + { + "name": "clone", + "start_line": 199, + "end_line": 207, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "fmt", - "start_line": 194, - "end_line": 196, + "start_line": 212, + "end_line": 220, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 224, + "end_line": 226, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -39524,7 +62185,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::RwLock", "imported_names": [], "alias": null, "line_number": 9, @@ -39552,8 +62213,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 5, - "function_count": 22, + "class_count": 7, + "function_count": 25, "import_count": 6, "export_count": 0, "unique_calls": 0, @@ -39659,8 +62320,8 @@ "type": "class", "name": "NyashStreamBox", "full_name": "", - "start_line": 13, - "end_line": 17, + "start_line": 12, + "end_line": 16, "start_column": 0, "end_column": 0, "depth": 1, @@ -39673,8 +62334,8 @@ "type": "class", "name": "NyashStreamBox", "full_name": "", - "start_line": 19, - "end_line": 137, + "start_line": 18, + "end_line": 136, "start_column": 0, "end_column": 0, "depth": 1, @@ -39687,8 +62348,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 20, - "end_line": 26, + "start_line": 19, + "end_line": 25, "start_column": 0, "end_column": 0, "depth": 3, @@ -39701,8 +62362,8 @@ "type": "function", "name": "from_data", "full_name": "", - "start_line": 28, - "end_line": 34, + "start_line": 27, + "end_line": 33, "start_column": 0, "end_column": 0, "depth": 3, @@ -39715,8 +62376,8 @@ "type": "function", "name": "read", "full_name": "", - "start_line": 36, - "end_line": 50, + "start_line": 35, + "end_line": 49, "start_column": 0, "end_column": 0, "depth": 3, @@ -39725,6 +62386,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -39743,8 +62418,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 38, - "end_line": 38, + "start_line": 39, + "end_line": 39, "start_column": 0, "end_column": 0, "depth": 5, @@ -39767,26 +62442,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 41, - "end_line": 41, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 43, - "end_line": 45, + "start_line": 42, + "end_line": 44, "start_column": 0, "end_column": 0, "depth": 6, @@ -39799,8 +62460,8 @@ "type": "function", "name": "write", "full_name": "", - "start_line": 52, - "end_line": 56, + "start_line": 51, + "end_line": 55, "start_column": 0, "end_column": 0, "depth": 3, @@ -39813,8 +62474,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 53, - "end_line": 53, + "start_line": 52, + "end_line": 52, "start_column": 0, "end_column": 0, "depth": 5, @@ -39827,8 +62488,8 @@ "type": "function", "name": "len", "full_name": "", - "start_line": 58, - "end_line": 60, + "start_line": 57, + "end_line": 59, "start_column": 0, "end_column": 0, "depth": 3, @@ -39841,8 +62502,8 @@ "type": "function", "name": "position", "full_name": "", - "start_line": 62, - "end_line": 64, + "start_line": 61, + "end_line": 63, "start_column": 0, "end_column": 0, "depth": 3, @@ -39855,8 +62516,8 @@ "type": "function", "name": "reset", "full_name": "", - "start_line": 66, - "end_line": 68, + "start_line": 65, + "end_line": 67, "start_column": 0, "end_column": 0, "depth": 3, @@ -39869,8 +62530,8 @@ "type": "function", "name": "stream_write", "full_name": "", - "start_line": 71, - "end_line": 102, + "start_line": 70, + "end_line": 101, "start_column": 0, "end_column": 0, "depth": 3, @@ -39883,8 +62544,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 73, - "end_line": 101, + "start_line": 72, + "end_line": 100, "start_column": 0, "end_column": 0, "depth": 6, @@ -39897,8 +62558,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 75, - "end_line": 75, + "start_line": 74, + "end_line": 74, "start_column": 0, "end_column": 0, "depth": 8, @@ -39911,8 +62572,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 77, - "end_line": 93, + "start_line": 76, + "end_line": 92, "start_column": 0, "end_column": 0, "depth": 9, @@ -39921,6 +62582,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -39935,26 +62610,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 79, - "end_line": 79, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "for_loop", "name": "", "full_name": "", - "start_line": 80, - "end_line": 86, + "start_line": 79, + "end_line": 85, "start_column": 0, "end_column": 0, "depth": 12, @@ -39967,8 +62628,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 81, - "end_line": 85, + "start_line": 80, + "end_line": 84, "start_column": 0, "end_column": 0, "depth": 15, @@ -39981,8 +62642,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 82, - "end_line": 84, + "start_line": 81, + "end_line": 83, "start_column": 0, "end_column": 0, "depth": 18, @@ -39995,8 +62656,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 94, - "end_line": 101, + "start_line": 93, + "end_line": 100, "start_column": 0, "end_column": 0, "depth": 8, @@ -40009,8 +62670,8 @@ "type": "function", "name": "stream_read", "full_name": "", - "start_line": 105, - "end_line": 120, + "start_line": 104, + "end_line": 119, "start_column": 0, "end_column": 0, "depth": 3, @@ -40023,8 +62684,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 106, - "end_line": 119, + "start_line": 105, + "end_line": 118, "start_column": 0, "end_column": 0, "depth": 6, @@ -40033,6 +62694,20 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -40047,26 +62722,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 108, - "end_line": 108, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", "name": "get_position", "full_name": "", - "start_line": 123, - "end_line": 125, + "start_line": 122, + "end_line": 124, "start_column": 0, "end_column": 0, "depth": 3, @@ -40079,8 +62740,8 @@ "type": "function", "name": "get_length", "full_name": "", - "start_line": 128, - "end_line": 130, + "start_line": 127, + "end_line": 129, "start_column": 0, "end_column": 0, "depth": 3, @@ -40093,8 +62754,8 @@ "type": "function", "name": "stream_reset", "full_name": "", - "start_line": 133, - "end_line": 136, + "start_line": 132, + "end_line": 135, "start_column": 0, "end_column": 0, "depth": 3, @@ -40107,8 +62768,8 @@ "type": "class", "name": "NyashStreamBox", "full_name": "", - "start_line": 139, - "end_line": 167, + "start_line": 138, + "end_line": 171, "start_column": 0, "end_column": 0, "depth": 1, @@ -40121,8 +62782,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 140, - "end_line": 142, + "start_line": 139, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 144, + "end_line": 146, "start_column": 0, "end_column": 0, "depth": 3, @@ -40135,8 +62810,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 144, - "end_line": 148, + "start_line": 148, + "end_line": 152, "start_column": 0, "end_column": 0, "depth": 3, @@ -40149,8 +62824,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 145, - "end_line": 145, + "start_line": 149, + "end_line": 149, "start_column": 0, "end_column": 0, "depth": 5, @@ -40163,8 +62838,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 146, - "end_line": 146, + "start_line": 150, + "end_line": 150, "start_column": 0, "end_column": 0, "depth": 5, @@ -40177,8 +62852,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 151, - "end_line": 153, + "start_line": 155, + "end_line": 157, "start_column": 0, "end_column": 0, "depth": 3, @@ -40191,8 +62866,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 156, - "end_line": 166, + "start_line": 160, + "end_line": 170, "start_column": 0, "end_column": 0, "depth": 3, @@ -40205,8 +62880,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 157, - "end_line": 165, + "start_line": 161, + "end_line": 169, "start_column": 0, "end_column": 0, "depth": 6, @@ -40219,8 +62894,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 158, - "end_line": 158, + "start_line": 162, + "end_line": 162, "start_column": 0, "end_column": 0, "depth": 8, @@ -40233,8 +62908,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 159, - "end_line": 159, + "start_line": 163, + "end_line": 163, "start_column": 0, "end_column": 0, "depth": 8, @@ -40247,8 +62922,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 160, - "end_line": 160, + "start_line": 164, + "end_line": 164, "start_column": 0, "end_column": 0, "depth": 8, @@ -40261,8 +62936,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 161, - "end_line": 161, + "start_line": 165, + "end_line": 165, "start_column": 0, "end_column": 0, "depth": 8, @@ -40275,8 +62950,8 @@ "type": "class", "name": "NyashStreamBox", "full_name": "", - "start_line": 169, - "end_line": 191, + "start_line": 173, + "end_line": 195, "start_column": 0, "end_column": 0, "depth": 1, @@ -40289,20 +62964,6 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 170, - "end_line": 172, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parent_type_id", - "full_name": "", "start_line": 174, "end_line": 176, "start_column": 0, @@ -40315,10 +62976,24 @@ }, { "type": "function", - "name": "fmt_box", + "name": "parent_type_id", "full_name": "", "start_line": 178, - "end_line": 182, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 182, + "end_line": 186, "start_column": 0, "end_column": 0, "depth": 3, @@ -40331,8 +63006,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 179, - "end_line": 179, + "start_line": 183, + "end_line": 183, "start_column": 0, "end_column": 0, "depth": 5, @@ -40345,8 +63020,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 180, - "end_line": 180, + "start_line": 184, + "end_line": 184, "start_column": 0, "end_column": 0, "depth": 5, @@ -40359,8 +63034,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 184, - "end_line": 186, + "start_line": 188, + "end_line": 190, "start_column": 0, "end_column": 0, "depth": 3, @@ -40373,8 +63048,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 188, - "end_line": 190, + "start_line": 192, + "end_line": 194, "start_column": 0, "end_column": 0, "depth": 3, @@ -40387,8 +63062,64 @@ "type": "class", "name": "NyashStreamBox", "full_name": "", - "start_line": 193, - "end_line": 197, + "start_line": 198, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 199, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashStreamBox", + "full_name": "", + "start_line": 211, + "end_line": 221, "start_column": 0, "end_column": 0, "depth": 1, @@ -40401,8 +63132,64 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 194, - "end_line": 196, + "start_line": 212, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashStreamBox", + "full_name": "", + "start_line": 223, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 224, + "end_line": 226, "start_column": 0, "end_column": 0, "depth": 3, @@ -40416,36 +63203,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 61, + "total_nodes": 70, "max_depth": 18, "node_type_counts": { - "variable": 18, - "class": 5, - "file_root": 1, + "function": 25, "if_statement": 8, "for_loop": 1, - "function": 22, - "import": 6 + "variable": 22, + "import": 6, + "file_root": 1, + "class": 7 }, - "classes": 5, - "functions": 22, + "classes": 7, + "functions": 25, "methods": 0, - "variables": 18, + "variables": 22, "control_structures": 9 }, - "generated_at": "2025-08-13T11:36:21.763004682Z" + "generated_at": "2025-08-15T16:17:53.938123555Z" }, { "file_info": { "name": "string_box.rs", "path": "src/boxes/string_box.rs", "size_bytes": 0, - "total_lines": 183, - "code_lines": 115, - "comment_lines": 42, + "total_lines": 187, + "code_lines": 118, + "comment_lines": 43, "empty_lines": 26, - "code_ratio": 0.6284153005464481, - "analyzed_at": "2025-08-13T11:36:21.746878189Z", + "code_ratio": 0.6310160427807486, + "analyzed_at": "2025-08-15T16:17:53.921207099Z", "metadata": {} }, "language": "rust", @@ -40479,20 +63266,20 @@ "name": "StringBox", "parent_class": null, "start_line": 132, - "end_line": 155, + "end_line": 159, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "StringBox", "parent_class": null, - "start_line": 157, - "end_line": 177, + "start_line": 161, + "end_line": 181, "methods": [], "properties": [], "member_variables": [], @@ -40504,8 +63291,8 @@ { "name": "StringBox", "parent_class": null, - "start_line": 179, - "end_line": 183, + "start_line": 183, + "end_line": 187, "methods": [], "properties": [], "member_variables": [], @@ -40552,8 +63339,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -40574,8 +63361,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -40632,8 +63419,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -40697,8 +63484,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -40718,8 +63505,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -40740,8 +63527,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -40762,8 +63549,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -40806,8 +63593,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -40891,8 +63678,28 @@ }, { "name": "clone_box", - "start_line": 150, - "end_line": 152, + "start_line": 151, + "end_line": 153, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 156, + "end_line": 158, "parameters": [ "&self" ], @@ -40911,26 +63718,6 @@ }, { "name": "box_id", - "start_line": 158, - "end_line": 160, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "parent_type_id", "start_line": 162, "end_line": 164, "parameters": [ @@ -40950,9 +63737,29 @@ } }, { - "name": "fmt_box", + "name": "parent_type_id", "start_line": 166, "end_line": 168, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 170, + "end_line": 172, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -40972,8 +63779,8 @@ }, { "name": "as_any", - "start_line": 170, - "end_line": 172, + "start_line": 174, + "end_line": 176, "parameters": [ "&self" ], @@ -40992,8 +63799,8 @@ }, { "name": "as_any_mut", - "start_line": 174, - "end_line": 176, + "start_line": 178, + "end_line": 180, "parameters": [ "&mut self" ], @@ -41012,8 +63819,8 @@ }, { "name": "fmt", - "start_line": 180, - "end_line": 182, + "start_line": 184, + "end_line": 186, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -41128,7 +63935,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 25, + "function_count": 26, "import_count": 10, "export_count": 0, "unique_calls": 0, @@ -41557,7 +64364,7 @@ "name": "StringBox", "full_name": "", "start_line": 132, - "end_line": 155, + "end_line": 159, "start_column": 0, "end_column": 0, "depth": 1, @@ -41640,8 +64447,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 150, - "end_line": 152, + "start_line": 151, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 156, + "end_line": 158, "start_column": 0, "end_column": 0, "depth": 3, @@ -41654,8 +64475,8 @@ "type": "class", "name": "StringBox", "full_name": "", - "start_line": 157, - "end_line": 177, + "start_line": 161, + "end_line": 181, "start_column": 0, "end_column": 0, "depth": 1, @@ -41668,20 +64489,6 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 158, - "end_line": 160, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parent_type_id", - "full_name": "", "start_line": 162, "end_line": 164, "start_column": 0, @@ -41694,7 +64501,7 @@ }, { "type": "function", - "name": "fmt_box", + "name": "parent_type_id", "full_name": "", "start_line": 166, "end_line": 168, @@ -41708,7 +64515,7 @@ }, { "type": "function", - "name": "as_any", + "name": "fmt_box", "full_name": "", "start_line": 170, "end_line": 172, @@ -41722,7 +64529,7 @@ }, { "type": "function", - "name": "as_any_mut", + "name": "as_any", "full_name": "", "start_line": 174, "end_line": 176, @@ -41734,12 +64541,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 178, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "StringBox", "full_name": "", - "start_line": 179, - "end_line": 183, + "start_line": 183, + "end_line": 187, "start_column": 0, "end_column": 0, "depth": 1, @@ -41752,8 +64573,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 180, - "end_line": 182, + "start_line": 184, + "end_line": 186, "start_column": 0, "end_column": 0, "depth": 3, @@ -41767,36 +64588,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 45, + "total_nodes": 46, "max_depth": 8, "node_type_counts": { + "if_statement": 2, "class": 5, + "variable": 4, "file_root": 1, "import": 10, - "function": 22, - "variable": 4, - "for_loop": 1, - "if_statement": 2 + "function": 23, + "for_loop": 1 }, "classes": 5, - "functions": 22, + "functions": 23, "methods": 0, "variables": 4, "control_structures": 3 }, - "generated_at": "2025-08-13T11:36:21.746889124Z" + "generated_at": "2025-08-15T16:17:53.921215594Z" }, { "file_info": { "name": "timer_box.rs", "path": "src/boxes/timer_box.rs", "size_bytes": 0, - "total_lines": 242, - "code_lines": 155, - "comment_lines": 56, - "empty_lines": 31, - "code_ratio": 0.640495867768595, - "analyzed_at": "2025-08-13T11:36:21.756577761Z", + "total_lines": 247, + "code_lines": 158, + "comment_lines": 57, + "empty_lines": 32, + "code_ratio": 0.6396761133603239, + "analyzed_at": "2025-08-15T16:17:53.921232554Z", "metadata": {} }, "language": "rust", @@ -41835,28 +64656,28 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "BoxCore", - "type": "impl" + "type": "impl", + "implementing_trait": "BoxCore" } }, { "name": "TimerBox", "parent_class": null, "start_line": 216, - "end_line": 236, + "end_line": 241, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "NyashBox", - "type": "impl" + "type": "impl", + "implementing_trait": "NyashBox" } }, { "name": "TimerBox", "parent_class": null, - "start_line": 238, - "end_line": 242, + "start_line": 243, + "end_line": 247, "methods": [], "properties": [], "member_variables": [], @@ -41921,8 +64742,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -41942,8 +64763,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -41965,8 +64786,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -42032,8 +64853,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -42142,8 +64963,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -42185,8 +65006,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -42207,8 +65028,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -42332,10 +65153,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 222, + "end_line": 224, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "to_string_box", - "start_line": 221, - "end_line": 223, + "start_line": 226, + "end_line": 228, "parameters": [ "&self" ], @@ -42354,8 +65195,8 @@ }, { "name": "type_name", - "start_line": 225, - "end_line": 227, + "start_line": 230, + "end_line": 232, "parameters": [ "&self" ], @@ -42374,8 +65215,8 @@ }, { "name": "equals", - "start_line": 229, - "end_line": 235, + "start_line": 234, + "end_line": 240, "parameters": [ "&self", "other: &dyn NyashBox" @@ -42395,8 +65236,8 @@ }, { "name": "fmt", - "start_line": 239, - "end_line": 241, + "start_line": 244, + "end_line": 246, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -42471,7 +65312,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 26, + "function_count": 27, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -42998,7 +65839,7 @@ "name": "TimerBox", "full_name": "", "start_line": 216, - "end_line": 236, + "end_line": 241, "start_column": 0, "end_column": 0, "depth": 1, @@ -43021,12 +65862,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 222, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 221, - "end_line": 223, + "start_line": 226, + "end_line": 228, "start_column": 0, "end_column": 0, "depth": 3, @@ -43039,8 +65894,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 225, - "end_line": 227, + "start_line": 230, + "end_line": 232, "start_column": 0, "end_column": 0, "depth": 3, @@ -43053,8 +65908,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 229, - "end_line": 235, + "start_line": 234, + "end_line": 240, "start_column": 0, "end_column": 0, "depth": 3, @@ -43067,8 +65922,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 230, - "end_line": 234, + "start_line": 235, + "end_line": 239, "start_column": 0, "end_column": 0, "depth": 6, @@ -43081,8 +65936,8 @@ "type": "class", "name": "TimerBox", "full_name": "", - "start_line": 238, - "end_line": 242, + "start_line": 243, + "end_line": 247, "start_column": 0, "end_column": 0, "depth": 1, @@ -43095,8 +65950,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 239, - "end_line": 241, + "start_line": 244, + "end_line": 246, "start_column": 0, "end_column": 0, "depth": 3, @@ -43110,35 +65965,35 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 45, + "total_nodes": 46, "max_depth": 8, "node_type_counts": { "if_statement": 8, - "function": 25, "class": 5, - "file_root": 1, + "function": 26, "variable": 1, + "file_root": 1, "import": 5 }, "classes": 5, - "functions": 25, + "functions": 26, "methods": 0, "variables": 1, "control_structures": 8 }, - "generated_at": "2025-08-13T11:36:21.756592086Z" + "generated_at": "2025-08-15T16:17:53.921244996Z" }, { "file_info": { "name": "time_box.rs", "path": "src/boxes/time_box.rs", "size_bytes": 0, - "total_lines": 494, - "code_lines": 289, - "comment_lines": 145, - "empty_lines": 60, - "code_ratio": 0.5850202429149798, - "analyzed_at": "2025-08-13T11:36:21.744582983Z", + "total_lines": 509, + "code_lines": 298, + "comment_lines": 148, + "empty_lines": 63, + "code_ratio": 0.5854616895874263, + "analyzed_at": "2025-08-15T16:17:53.922511009Z", "metadata": {} }, "language": "rust", @@ -43172,7 +66027,7 @@ "name": "TimeBox", "parent_class": null, "start_line": 190, - "end_line": 211, + "end_line": 216, "methods": [], "properties": [], "member_variables": [], @@ -43184,8 +66039,8 @@ { "name": "TimeBox", "parent_class": null, - "start_line": 213, - "end_line": 233, + "start_line": 218, + "end_line": 238, "methods": [], "properties": [], "member_variables": [], @@ -43197,8 +66052,8 @@ { "name": "TimeBox", "parent_class": null, - "start_line": 235, - "end_line": 239, + "start_line": 240, + "end_line": 244, "methods": [], "properties": [], "member_variables": [], @@ -43210,8 +66065,8 @@ { "name": "DateTimeBox", "parent_class": null, - "start_line": 243, - "end_line": 246, + "start_line": 248, + "end_line": 251, "methods": [], "properties": [], "member_variables": [], @@ -43223,8 +66078,8 @@ { "name": "DateTimeBox", "parent_class": null, - "start_line": 248, - "end_line": 359, + "start_line": 253, + "end_line": 364, "methods": [], "properties": [], "member_variables": [], @@ -43235,8 +66090,8 @@ { "name": "DateTimeBox", "parent_class": null, - "start_line": 361, - "end_line": 382, + "start_line": 366, + "end_line": 392, "methods": [], "properties": [], "member_variables": [], @@ -43248,8 +66103,8 @@ { "name": "DateTimeBox", "parent_class": null, - "start_line": 384, - "end_line": 404, + "start_line": 394, + "end_line": 414, "methods": [], "properties": [], "member_variables": [], @@ -43261,21 +66116,21 @@ { "name": "DateTimeBox", "parent_class": null, - "start_line": 406, - "end_line": 410, + "start_line": 416, + "end_line": 420, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Display", - "type": "impl" + "type": "impl", + "implementing_trait": "Display" } }, { "name": "TimerBox", "parent_class": null, - "start_line": 414, - "end_line": 417, + "start_line": 424, + "end_line": 427, "methods": [], "properties": [], "member_variables": [], @@ -43287,8 +66142,8 @@ { "name": "TimerBox", "parent_class": null, - "start_line": 419, - "end_line": 443, + "start_line": 429, + "end_line": 453, "methods": [], "properties": [], "member_variables": [], @@ -43299,21 +66154,21 @@ { "name": "TimerBox", "parent_class": null, - "start_line": 445, - "end_line": 466, + "start_line": 455, + "end_line": 481, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "TimerBox", "parent_class": null, - "start_line": 468, - "end_line": 488, + "start_line": 483, + "end_line": 503, "methods": [], "properties": [], "member_variables": [], @@ -43325,14 +66180,14 @@ { "name": "TimerBox", "parent_class": null, - "start_line": 490, - "end_line": 494, + "start_line": 505, + "end_line": 509, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "Display" + "implementing_trait": "Display", + "type": "impl" } } ], @@ -43352,8 +66207,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -43439,8 +66294,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -43525,10 +66380,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 204, + "end_line": 206, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "equals", - "start_line": 203, - "end_line": 209, + "start_line": 208, + "end_line": 214, "parameters": [ "&self", "other: &dyn NyashBox" @@ -43548,8 +66423,8 @@ }, { "name": "box_id", - "start_line": 214, - "end_line": 216, + "start_line": 219, + "end_line": 221, "parameters": [ "&self" ], @@ -43568,8 +66443,8 @@ }, { "name": "parent_type_id", - "start_line": 218, - "end_line": 220, + "start_line": 223, + "end_line": 225, "parameters": [ "&self" ], @@ -43588,8 +66463,8 @@ }, { "name": "fmt_box", - "start_line": 222, - "end_line": 224, + "start_line": 227, + "end_line": 229, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -43609,8 +66484,8 @@ }, { "name": "as_any", - "start_line": 226, - "end_line": 228, + "start_line": 231, + "end_line": 233, "parameters": [ "&self" ], @@ -43629,8 +66504,8 @@ }, { "name": "as_any_mut", - "start_line": 230, - "end_line": 232, + "start_line": 235, + "end_line": 237, "parameters": [ "&mut self" ], @@ -43649,8 +66524,8 @@ }, { "name": "fmt", - "start_line": 236, - "end_line": 238, + "start_line": 241, + "end_line": 243, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -43670,8 +66545,8 @@ }, { "name": "now", - "start_line": 250, - "end_line": 255, + "start_line": 255, + "end_line": 260, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -43689,8 +66564,8 @@ }, { "name": "from_timestamp", - "start_line": 258, - "end_line": 261, + "start_line": 263, + "end_line": 266, "parameters": [ "timestamp: i64" ], @@ -43710,8 +66585,8 @@ }, { "name": "parse", - "start_line": 264, - "end_line": 282, + "start_line": 269, + "end_line": 287, "parameters": [ "date_str: &str" ], @@ -43731,27 +66606,6 @@ }, { "name": "year", - "start_line": 285, - "end_line": 287, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "month", "start_line": 290, "end_line": 292, "parameters": [ @@ -43772,7 +66626,7 @@ } }, { - "name": "day", + "name": "month", "start_line": 295, "end_line": 297, "parameters": [ @@ -43793,7 +66647,7 @@ } }, { - "name": "hour", + "name": "day", "start_line": 300, "end_line": 302, "parameters": [ @@ -43809,12 +66663,12 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { - "name": "minute", + "name": "hour", "start_line": 305, "end_line": 307, "parameters": [ @@ -43835,7 +66689,7 @@ } }, { - "name": "second", + "name": "minute", "start_line": 310, "end_line": 312, "parameters": [ @@ -43851,12 +66705,12 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { - "name": "timestamp", + "name": "second", "start_line": 315, "end_line": 317, "parameters": [ @@ -43877,7 +66731,7 @@ } }, { - "name": "toISOString", + "name": "timestamp", "start_line": 320, "end_line": 322, "parameters": [ @@ -43892,6 +66746,27 @@ "rating": "simple", "rating_emoji": "🟢" }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "toISOString", + "start_line": 325, + "end_line": 327, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, "metadata": { "type": "function", "modifiers": "pub" @@ -43899,8 +66774,8 @@ }, { "name": "format", - "start_line": 325, - "end_line": 332, + "start_line": 330, + "end_line": 337, "parameters": [ "&self", "fmt" @@ -43914,37 +66789,37 @@ "rating": "simple", "rating_emoji": "🟢" }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "addDays", - "start_line": 335, - "end_line": 345, - "parameters": [ - "&self", - "days" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, "metadata": { "modifiers": "pub", "type": "function" } }, + { + "name": "addDays", + "start_line": 340, + "end_line": 350, + "parameters": [ + "&self", + "days" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, { "name": "addHours", - "start_line": 348, - "end_line": 358, + "start_line": 353, + "end_line": 363, "parameters": [ "&self", "hours" @@ -43965,8 +66840,8 @@ }, { "name": "type_name", - "start_line": 362, - "end_line": 364, + "start_line": 367, + "end_line": 369, "parameters": [ "&self" ], @@ -43985,8 +66860,8 @@ }, { "name": "to_string_box", - "start_line": 366, - "end_line": 368, + "start_line": 371, + "end_line": 373, "parameters": [ "&self" ], @@ -44005,8 +66880,28 @@ }, { "name": "clone_box", - "start_line": 370, - "end_line": 372, + "start_line": 375, + "end_line": 377, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 380, + "end_line": 382, "parameters": [ "&self" ], @@ -44025,8 +66920,8 @@ }, { "name": "equals", - "start_line": 374, - "end_line": 380, + "start_line": 384, + "end_line": 390, "parameters": [ "&self", "other: &dyn NyashBox" @@ -44046,8 +66941,8 @@ }, { "name": "box_id", - "start_line": 385, - "end_line": 387, + "start_line": 395, + "end_line": 397, "parameters": [ "&self" ], @@ -44066,8 +66961,8 @@ }, { "name": "parent_type_id", - "start_line": 389, - "end_line": 391, + "start_line": 399, + "end_line": 401, "parameters": [ "&self" ], @@ -44086,8 +66981,8 @@ }, { "name": "fmt_box", - "start_line": 393, - "end_line": 395, + "start_line": 403, + "end_line": 405, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -44107,8 +67002,8 @@ }, { "name": "as_any", - "start_line": 397, - "end_line": 399, + "start_line": 407, + "end_line": 409, "parameters": [ "&self" ], @@ -44127,8 +67022,8 @@ }, { "name": "as_any_mut", - "start_line": 401, - "end_line": 403, + "start_line": 411, + "end_line": 413, "parameters": [ "&mut self" ], @@ -44147,8 +67042,8 @@ }, { "name": "fmt", - "start_line": 407, - "end_line": 409, + "start_line": 417, + "end_line": 419, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -44168,8 +67063,8 @@ }, { "name": "new", - "start_line": 420, - "end_line": 425, + "start_line": 430, + "end_line": 435, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -44181,14 +67076,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "elapsed", - "start_line": 428, - "end_line": 436, + "start_line": 438, + "end_line": 446, "parameters": [ "&self" ], @@ -44208,8 +67103,8 @@ }, { "name": "reset", - "start_line": 439, - "end_line": 442, + "start_line": 449, + "end_line": 452, "parameters": [ "&mut self" ], @@ -44223,14 +67118,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "type_name", - "start_line": 446, - "end_line": 448, + "start_line": 456, + "end_line": 458, "parameters": [ "&self" ], @@ -44249,8 +67144,8 @@ }, { "name": "to_string_box", - "start_line": 450, - "end_line": 452, + "start_line": 460, + "end_line": 462, "parameters": [ "&self" ], @@ -44269,8 +67164,8 @@ }, { "name": "clone_box", - "start_line": 454, - "end_line": 456, + "start_line": 464, + "end_line": 466, "parameters": [ "&self" ], @@ -44288,28 +67183,7 @@ } }, { - "name": "equals", - "start_line": 458, - "end_line": 464, - "parameters": [ - "&self", - "other: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "box_id", + "name": "share_box", "start_line": 469, "end_line": 471, "parameters": [ @@ -44329,9 +67203,50 @@ } }, { - "name": "parent_type_id", + "name": "equals", "start_line": 473, - "end_line": 475, + "end_line": 479, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 484, + "end_line": 486, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 488, + "end_line": 490, "parameters": [ "&self" ], @@ -44350,8 +67265,8 @@ }, { "name": "fmt_box", - "start_line": 477, - "end_line": 479, + "start_line": 492, + "end_line": 494, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -44371,8 +67286,8 @@ }, { "name": "as_any", - "start_line": 481, - "end_line": 483, + "start_line": 496, + "end_line": 498, "parameters": [ "&self" ], @@ -44391,8 +67306,8 @@ }, { "name": "as_any_mut", - "start_line": 485, - "end_line": 487, + "start_line": 500, + "end_line": 502, "parameters": [ "&mut self" ], @@ -44411,8 +67326,8 @@ }, { "name": "fmt", - "start_line": 491, - "end_line": 493, + "start_line": 506, + "end_line": 508, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -44487,7 +67402,7 @@ "metadata": {}, "stats": { "class_count": 15, - "function_count": 53, + "function_count": 56, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -44790,7 +67705,7 @@ "name": "TimeBox", "full_name": "", "start_line": 190, - "end_line": 211, + "end_line": 216, "start_column": 0, "end_column": 0, "depth": 1, @@ -44841,12 +67756,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 204, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "equals", "full_name": "", - "start_line": 203, - "end_line": 209, + "start_line": 208, + "end_line": 214, "start_column": 0, "end_column": 0, "depth": 3, @@ -44859,8 +67788,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 204, - "end_line": 208, + "start_line": 209, + "end_line": 213, "start_column": 0, "end_column": 0, "depth": 6, @@ -44873,8 +67802,8 @@ "type": "class", "name": "TimeBox", "full_name": "", - "start_line": 213, - "end_line": 233, + "start_line": 218, + "end_line": 238, "start_column": 0, "end_column": 0, "depth": 1, @@ -44887,8 +67816,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 214, - "end_line": 216, + "start_line": 219, + "end_line": 221, "start_column": 0, "end_column": 0, "depth": 3, @@ -44901,8 +67830,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 218, - "end_line": 220, + "start_line": 223, + "end_line": 225, "start_column": 0, "end_column": 0, "depth": 3, @@ -44915,8 +67844,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 222, - "end_line": 224, + "start_line": 227, + "end_line": 229, "start_column": 0, "end_column": 0, "depth": 3, @@ -44929,8 +67858,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 226, - "end_line": 228, + "start_line": 231, + "end_line": 233, "start_column": 0, "end_column": 0, "depth": 3, @@ -44943,8 +67872,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 230, - "end_line": 232, + "start_line": 235, + "end_line": 237, "start_column": 0, "end_column": 0, "depth": 3, @@ -44957,8 +67886,8 @@ "type": "class", "name": "TimeBox", "full_name": "", - "start_line": 235, - "end_line": 239, + "start_line": 240, + "end_line": 244, "start_column": 0, "end_column": 0, "depth": 1, @@ -44971,8 +67900,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 236, - "end_line": 238, + "start_line": 241, + "end_line": 243, "start_column": 0, "end_column": 0, "depth": 3, @@ -44985,8 +67914,8 @@ "type": "class", "name": "DateTimeBox", "full_name": "", - "start_line": 243, - "end_line": 246, + "start_line": 248, + "end_line": 251, "start_column": 0, "end_column": 0, "depth": 1, @@ -44999,8 +67928,8 @@ "type": "class", "name": "DateTimeBox", "full_name": "", - "start_line": 248, - "end_line": 359, + "start_line": 253, + "end_line": 364, "start_column": 0, "end_column": 0, "depth": 1, @@ -45013,8 +67942,8 @@ "type": "function", "name": "now", "full_name": "", - "start_line": 250, - "end_line": 255, + "start_line": 255, + "end_line": 260, "start_column": 0, "end_column": 0, "depth": 3, @@ -45027,8 +67956,8 @@ "type": "function", "name": "from_timestamp", "full_name": "", - "start_line": 258, - "end_line": 261, + "start_line": 263, + "end_line": 266, "start_column": 0, "end_column": 0, "depth": 3, @@ -45041,8 +67970,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 259, - "end_line": 259, + "start_line": 264, + "end_line": 264, "start_column": 0, "end_column": 0, "depth": 5, @@ -45055,8 +67984,8 @@ "type": "function", "name": "parse", "full_name": "", - "start_line": 264, - "end_line": 282, + "start_line": 269, + "end_line": 287, "start_column": 0, "end_column": 0, "depth": 3, @@ -45069,8 +67998,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 275, - "end_line": 275, + "start_line": 280, + "end_line": 280, "start_column": 0, "end_column": 0, "depth": 15, @@ -45083,20 +68012,6 @@ "type": "function", "name": "year", "full_name": "", - "start_line": 285, - "end_line": 287, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "month", - "full_name": "", "start_line": 290, "end_line": 292, "start_column": 0, @@ -45109,7 +68024,7 @@ }, { "type": "function", - "name": "day", + "name": "month", "full_name": "", "start_line": 295, "end_line": 297, @@ -45123,7 +68038,7 @@ }, { "type": "function", - "name": "hour", + "name": "day", "full_name": "", "start_line": 300, "end_line": 302, @@ -45137,7 +68052,7 @@ }, { "type": "function", - "name": "minute", + "name": "hour", "full_name": "", "start_line": 305, "end_line": 307, @@ -45151,7 +68066,7 @@ }, { "type": "function", - "name": "second", + "name": "minute", "full_name": "", "start_line": 310, "end_line": 312, @@ -45165,7 +68080,7 @@ }, { "type": "function", - "name": "timestamp", + "name": "second", "full_name": "", "start_line": 315, "end_line": 317, @@ -45179,7 +68094,7 @@ }, { "type": "function", - "name": "toISOString", + "name": "timestamp", "full_name": "", "start_line": 320, "end_line": 322, @@ -45193,10 +68108,24 @@ }, { "type": "function", - "name": "format", + "name": "toISOString", "full_name": "", "start_line": 325, - "end_line": 332, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "format", + "full_name": "", + "start_line": 330, + "end_line": 337, "start_column": 0, "end_column": 0, "depth": 3, @@ -45209,8 +68138,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 326, - "end_line": 331, + "start_line": 331, + "end_line": 336, "start_column": 0, "end_column": 0, "depth": 6, @@ -45223,8 +68152,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 327, - "end_line": 327, + "start_line": 332, + "end_line": 332, "start_column": 0, "end_column": 0, "depth": 8, @@ -45237,8 +68166,8 @@ "type": "function", "name": "addDays", "full_name": "", - "start_line": 335, - "end_line": 345, + "start_line": 340, + "end_line": 350, "start_column": 0, "end_column": 0, "depth": 3, @@ -45251,8 +68180,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 336, - "end_line": 344, + "start_line": 341, + "end_line": 349, "start_column": 0, "end_column": 0, "depth": 6, @@ -45265,8 +68194,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 337, - "end_line": 337, + "start_line": 342, + "end_line": 342, "start_column": 0, "end_column": 0, "depth": 8, @@ -45279,8 +68208,8 @@ "type": "function", "name": "addHours", "full_name": "", - "start_line": 348, - "end_line": 358, + "start_line": 353, + "end_line": 363, "start_column": 0, "end_column": 0, "depth": 3, @@ -45293,8 +68222,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 349, - "end_line": 357, + "start_line": 354, + "end_line": 362, "start_column": 0, "end_column": 0, "depth": 6, @@ -45307,8 +68236,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 350, - "end_line": 350, + "start_line": 355, + "end_line": 355, "start_column": 0, "end_column": 0, "depth": 8, @@ -45321,8 +68250,8 @@ "type": "class", "name": "DateTimeBox", "full_name": "", - "start_line": 361, - "end_line": 382, + "start_line": 366, + "end_line": 392, "start_column": 0, "end_column": 0, "depth": 1, @@ -45335,8 +68264,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 362, - "end_line": 364, + "start_line": 367, + "end_line": 369, "start_column": 0, "end_column": 0, "depth": 3, @@ -45349,8 +68278,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 366, - "end_line": 368, + "start_line": 371, + "end_line": 373, "start_column": 0, "end_column": 0, "depth": 3, @@ -45363,8 +68292,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 370, - "end_line": 372, + "start_line": 375, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 380, + "end_line": 382, "start_column": 0, "end_column": 0, "depth": 3, @@ -45377,8 +68320,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 374, - "end_line": 380, + "start_line": 384, + "end_line": 390, "start_column": 0, "end_column": 0, "depth": 3, @@ -45391,8 +68334,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 375, - "end_line": 379, + "start_line": 385, + "end_line": 389, "start_column": 0, "end_column": 0, "depth": 6, @@ -45405,8 +68348,8 @@ "type": "class", "name": "DateTimeBox", "full_name": "", - "start_line": 384, - "end_line": 404, + "start_line": 394, + "end_line": 414, "start_column": 0, "end_column": 0, "depth": 1, @@ -45419,8 +68362,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 385, - "end_line": 387, + "start_line": 395, + "end_line": 397, "start_column": 0, "end_column": 0, "depth": 3, @@ -45433,8 +68376,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 389, - "end_line": 391, + "start_line": 399, + "end_line": 401, "start_column": 0, "end_column": 0, "depth": 3, @@ -45447,8 +68390,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 393, - "end_line": 395, + "start_line": 403, + "end_line": 405, "start_column": 0, "end_column": 0, "depth": 3, @@ -45461,8 +68404,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 397, - "end_line": 399, + "start_line": 407, + "end_line": 409, "start_column": 0, "end_column": 0, "depth": 3, @@ -45475,8 +68418,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 401, - "end_line": 403, + "start_line": 411, + "end_line": 413, "start_column": 0, "end_column": 0, "depth": 3, @@ -45489,8 +68432,8 @@ "type": "class", "name": "DateTimeBox", "full_name": "", - "start_line": 406, - "end_line": 410, + "start_line": 416, + "end_line": 420, "start_column": 0, "end_column": 0, "depth": 1, @@ -45503,8 +68446,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 407, - "end_line": 409, + "start_line": 417, + "end_line": 419, "start_column": 0, "end_column": 0, "depth": 3, @@ -45517,8 +68460,8 @@ "type": "class", "name": "TimerBox", "full_name": "", - "start_line": 414, - "end_line": 417, + "start_line": 424, + "end_line": 427, "start_column": 0, "end_column": 0, "depth": 1, @@ -45531,8 +68474,8 @@ "type": "class", "name": "TimerBox", "full_name": "", - "start_line": 419, - "end_line": 443, + "start_line": 429, + "end_line": 453, "start_column": 0, "end_column": 0, "depth": 1, @@ -45545,8 +68488,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 420, - "end_line": 425, + "start_line": 430, + "end_line": 435, "start_column": 0, "end_column": 0, "depth": 3, @@ -45559,8 +68502,8 @@ "type": "function", "name": "elapsed", "full_name": "", - "start_line": 428, - "end_line": 436, + "start_line": 438, + "end_line": 446, "start_column": 0, "end_column": 0, "depth": 3, @@ -45573,8 +68516,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 431, - "end_line": 431, + "start_line": 441, + "end_line": 441, "start_column": 0, "end_column": 0, "depth": 10, @@ -45587,8 +68530,8 @@ "type": "function", "name": "reset", "full_name": "", - "start_line": 439, - "end_line": 442, + "start_line": 449, + "end_line": 452, "start_column": 0, "end_column": 0, "depth": 3, @@ -45601,8 +68544,8 @@ "type": "class", "name": "TimerBox", "full_name": "", - "start_line": 445, - "end_line": 466, + "start_line": 455, + "end_line": 481, "start_column": 0, "end_column": 0, "depth": 1, @@ -45615,8 +68558,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 446, - "end_line": 448, + "start_line": 456, + "end_line": 458, "start_column": 0, "end_column": 0, "depth": 3, @@ -45629,8 +68572,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 450, - "end_line": 452, + "start_line": 460, + "end_line": 462, "start_column": 0, "end_column": 0, "depth": 3, @@ -45643,8 +68586,8 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 454, - "end_line": 456, + "start_line": 464, + "end_line": 466, "start_column": 0, "end_column": 0, "depth": 3, @@ -45655,49 +68598,7 @@ }, { "type": "function", - "name": "equals", - "full_name": "", - "start_line": 458, - "end_line": 464, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 459, - "end_line": 463, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "TimerBox", - "full_name": "", - "start_line": 468, - "end_line": 488, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "box_id", + "name": "share_box", "full_name": "", "start_line": 469, "end_line": 471, @@ -45711,10 +68612,66 @@ }, { "type": "function", - "name": "parent_type_id", + "name": "equals", "full_name": "", "start_line": 473, - "end_line": 475, + "end_line": 479, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 474, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 483, + "end_line": 503, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 484, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 488, + "end_line": 490, "start_column": 0, "end_column": 0, "depth": 3, @@ -45727,8 +68684,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 477, - "end_line": 479, + "start_line": 492, + "end_line": 494, "start_column": 0, "end_column": 0, "depth": 3, @@ -45741,8 +68698,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 481, - "end_line": 483, + "start_line": 496, + "end_line": 498, "start_column": 0, "end_column": 0, "depth": 3, @@ -45755,8 +68712,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 485, - "end_line": 487, + "start_line": 500, + "end_line": 502, "start_column": 0, "end_column": 0, "depth": 3, @@ -45769,8 +68726,8 @@ "type": "class", "name": "TimerBox", "full_name": "", - "start_line": 490, - "end_line": 494, + "start_line": 505, + "end_line": 509, "start_column": 0, "end_column": 0, "depth": 1, @@ -45783,8 +68740,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 491, - "end_line": 493, + "start_line": 506, + "end_line": 508, "start_column": 0, "end_column": 0, "depth": 3, @@ -45798,23 +68755,23 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 93, + "total_nodes": 96, "max_depth": 15, "node_type_counts": { - "class": 15, - "function": 53, - "import": 5, "if_statement": 11, + "import": 5, + "file_root": 1, "variable": 8, - "file_root": 1 + "function": 56, + "class": 15 }, "classes": 15, - "functions": 53, + "functions": 56, "methods": 0, "variables": 8, "control_structures": 11 }, - "generated_at": "2025-08-13T11:36:21.744610177Z" + "generated_at": "2025-08-15T16:17:53.922534528Z" }, { "file_info": { @@ -45826,7 +68783,7 @@ "comment_lines": 6, "empty_lines": 6, "code_ratio": 0.5, - "analyzed_at": "2025-08-13T11:36:21.758862924Z", + "analyzed_at": "2025-08-15T16:17:53.926775735Z", "metadata": {} }, "language": "rust", @@ -45940,8 +68897,8 @@ "total_nodes": 4, "max_depth": 1, "node_type_counts": { - "file_root": 1, - "import": 3 + "import": 3, + "file_root": 1 }, "classes": 0, "functions": 0, @@ -45949,19 +68906,19 @@ "variables": 0, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.758864327Z" + "generated_at": "2025-08-15T16:17:53.926777004Z" }, { "file_info": { "name": "web_canvas_box.rs", "path": "src/boxes/web/web_canvas_box.rs", "size_bytes": 0, - "total_lines": 319, - "code_lines": 238, - "comment_lines": 34, - "empty_lines": 47, - "code_ratio": 0.7460815047021944, - "analyzed_at": "2025-08-13T11:36:21.750387570Z", + "total_lines": 324, + "code_lines": 241, + "comment_lines": 35, + "empty_lines": 48, + "code_ratio": 0.7438271604938271, + "analyzed_at": "2025-08-15T16:17:53.926604674Z", "metadata": {} }, "language": "rust", @@ -45975,8 +68932,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { @@ -46000,28 +68957,28 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" - } - }, - { - "name": "WebCanvasBox", - "parent_class": null, - "start_line": 285, - "end_line": 312, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "NyashBox", + "implementing_trait": "BoxCore", "type": "impl" } }, { "name": "WebCanvasBox", "parent_class": null, - "start_line": 315, - "end_line": 319, + "start_line": 285, + "end_line": 317, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "WebCanvasBox", + "parent_class": null, + "start_line": 320, + "end_line": 324, "methods": [], "properties": [], "member_variables": [], @@ -46051,8 +69008,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -46196,8 +69153,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -46249,8 +69206,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -46274,8 +69231,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -46300,8 +69257,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -46380,8 +69337,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -46401,8 +69358,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -46424,8 +69381,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -46447,8 +69404,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -46490,8 +69447,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -46513,8 +69470,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -46555,8 +69512,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -46577,8 +69534,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -46600,8 +69557,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -46644,8 +69601,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -46794,9 +69751,9 @@ } }, { - "name": "to_string_box", - "start_line": 290, - "end_line": 297, + "name": "share_box", + "start_line": 291, + "end_line": 293, "parameters": [ "&self" ], @@ -46814,8 +69771,8 @@ } }, { - "name": "type_name", - "start_line": 300, + "name": "to_string_box", + "start_line": 295, "end_line": 302, "parameters": [ "&self" @@ -46834,9 +69791,29 @@ } }, { - "name": "equals", + "name": "type_name", "start_line": 305, - "end_line": 311, + "end_line": 307, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 310, + "end_line": 316, "parameters": [ "&self", "other: &dyn NyashBox" @@ -46856,8 +69833,8 @@ }, { "name": "fmt", - "start_line": 316, - "end_line": 318, + "start_line": 321, + "end_line": 323, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -46924,7 +69901,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 38, + "function_count": 39, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -47899,7 +70876,7 @@ "name": "WebCanvasBox", "full_name": "", "start_line": 285, - "end_line": 312, + "end_line": 317, "start_column": 0, "end_column": 0, "depth": 1, @@ -47922,12 +70899,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 291, + "end_line": 293, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 290, - "end_line": 297, + "start_line": 295, + "end_line": 302, "start_column": 0, "end_column": 0, "depth": 3, @@ -47940,8 +70931,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 300, - "end_line": 302, + "start_line": 305, + "end_line": 307, "start_column": 0, "end_column": 0, "depth": 3, @@ -47954,8 +70945,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 305, - "end_line": 311, + "start_line": 310, + "end_line": 316, "start_column": 0, "end_column": 0, "depth": 3, @@ -47968,8 +70959,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 306, - "end_line": 310, + "start_line": 311, + "end_line": 315, "start_column": 0, "end_column": 0, "depth": 6, @@ -47982,8 +70973,8 @@ "type": "class", "name": "WebCanvasBox", "full_name": "", - "start_line": 315, - "end_line": 319, + "start_line": 320, + "end_line": 324, "start_column": 0, "end_column": 0, "depth": 1, @@ -47996,8 +70987,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 316, - "end_line": 318, + "start_line": 321, + "end_line": 323, "start_column": 0, "end_column": 0, "depth": 3, @@ -48011,35 +71002,35 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 77, + "total_nodes": 78, "max_depth": 6, "node_type_counts": { - "function": 37, "if_statement": 25, - "variable": 5, + "class": 5, "file_root": 1, "import": 4, - "class": 5 + "function": 38, + "variable": 5 }, "classes": 5, - "functions": 37, + "functions": 38, "methods": 0, "variables": 5, "control_structures": 25 }, - "generated_at": "2025-08-13T11:36:21.750404669Z" + "generated_at": "2025-08-15T16:17:53.926621127Z" }, { "file_info": { "name": "web_console_box.rs", "path": "src/boxes/web/web_console_box.rs", "size_bytes": 0, - "total_lines": 191, - "code_lines": 140, - "comment_lines": 19, - "empty_lines": 32, - "code_ratio": 0.7329842931937173, - "analyzed_at": "2025-08-13T11:36:21.751071169Z", + "total_lines": 196, + "code_lines": 143, + "comment_lines": 20, + "empty_lines": 33, + "code_ratio": 0.7295918367346939, + "analyzed_at": "2025-08-15T16:17:53.927473212Z", "metadata": {} }, "language": "rust", @@ -48078,15 +71069,15 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "BoxCore", - "type": "impl" + "type": "impl", + "implementing_trait": "BoxCore" } }, { "name": "WebConsoleBox", "parent_class": null, "start_line": 162, - "end_line": 184, + "end_line": 189, "methods": [], "properties": [], "member_variables": [], @@ -48098,14 +71089,14 @@ { "name": "WebConsoleBox", "parent_class": null, - "start_line": 187, - "end_line": 191, + "start_line": 192, + "end_line": 196, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "std::fmt::Display" + "implementing_trait": "std::fmt::Display", + "type": "impl" } } ], @@ -48213,8 +71204,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -48235,8 +71226,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -48257,8 +71248,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -48279,8 +71270,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -48300,8 +71291,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -48321,8 +71312,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -48343,8 +71334,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -48364,8 +71355,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -48470,9 +71461,9 @@ } }, { - "name": "to_string_box", - "start_line": 167, - "end_line": 169, + "name": "share_box", + "start_line": 168, + "end_line": 170, "parameters": [ "&self" ], @@ -48490,7 +71481,7 @@ } }, { - "name": "type_name", + "name": "to_string_box", "start_line": 172, "end_line": 174, "parameters": [ @@ -48510,9 +71501,29 @@ } }, { - "name": "equals", + "name": "type_name", "start_line": 177, - "end_line": 183, + "end_line": 179, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 182, + "end_line": 188, "parameters": [ "&self", "other: &dyn NyashBox" @@ -48532,8 +71543,8 @@ }, { "name": "fmt", - "start_line": 188, - "end_line": 190, + "start_line": 193, + "end_line": 195, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -48600,7 +71611,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 21, + "function_count": 22, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -49267,7 +72278,7 @@ "name": "WebConsoleBox", "full_name": "", "start_line": 162, - "end_line": 184, + "end_line": 189, "start_column": 0, "end_column": 0, "depth": 1, @@ -49292,10 +72303,10 @@ }, { "type": "function", - "name": "to_string_box", + "name": "share_box", "full_name": "", - "start_line": 167, - "end_line": 169, + "start_line": 168, + "end_line": 170, "start_column": 0, "end_column": 0, "depth": 3, @@ -49306,7 +72317,7 @@ }, { "type": "function", - "name": "type_name", + "name": "to_string_box", "full_name": "", "start_line": 172, "end_line": 174, @@ -49320,10 +72331,24 @@ }, { "type": "function", - "name": "equals", + "name": "type_name", "full_name": "", "start_line": 177, - "end_line": 183, + "end_line": 179, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 182, + "end_line": 188, "start_column": 0, "end_column": 0, "depth": 3, @@ -49336,8 +72361,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 178, - "end_line": 182, + "start_line": 183, + "end_line": 187, "start_column": 0, "end_column": 0, "depth": 6, @@ -49350,8 +72375,8 @@ "type": "class", "name": "WebConsoleBox", "full_name": "", - "start_line": 187, - "end_line": 191, + "start_line": 192, + "end_line": 196, "start_column": 0, "end_column": 0, "depth": 1, @@ -49364,8 +72389,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 188, - "end_line": 190, + "start_line": 193, + "end_line": 195, "start_column": 0, "end_column": 0, "depth": 3, @@ -49379,35 +72404,35 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 55, + "total_nodes": 56, "max_depth": 9, "node_type_counts": { + "variable": 17, + "class": 5, + "function": 22, "if_statement": 7, "file_root": 1, - "import": 4, - "class": 5, - "function": 21, - "variable": 17 + "import": 4 }, "classes": 5, - "functions": 21, + "functions": 22, "methods": 0, "variables": 17, "control_structures": 7 }, - "generated_at": "2025-08-13T11:36:21.751089468Z" + "generated_at": "2025-08-15T16:17:53.927484740Z" }, { "file_info": { "name": "web_display_box.rs", "path": "src/boxes/web/web_display_box.rs", "size_bytes": 0, - "total_lines": 184, - "code_lines": 135, - "comment_lines": 20, - "empty_lines": 29, - "code_ratio": 0.7336956521739131, - "analyzed_at": "2025-08-13T11:36:21.750908191Z", + "total_lines": 189, + "code_lines": 138, + "comment_lines": 21, + "empty_lines": 30, + "code_ratio": 0.7301587301587301, + "analyzed_at": "2025-08-15T16:17:53.929975363Z", "metadata": {} }, "language": "rust", @@ -49421,8 +72446,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -49446,34 +72471,34 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "BoxCore", - "type": "impl" + "type": "impl", + "implementing_trait": "BoxCore" } }, { "name": "WebDisplayBox", "parent_class": null, "start_line": 155, - "end_line": 177, + "end_line": 182, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "NyashBox", - "type": "impl" + "type": "impl", + "implementing_trait": "NyashBox" } }, { "name": "WebDisplayBox", "parent_class": null, - "start_line": 180, - "end_line": 184, + "start_line": 185, + "end_line": 189, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "std::fmt::Display", - "type": "impl" + "type": "impl", + "implementing_trait": "std::fmt::Display" } } ], @@ -49495,8 +72520,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -49537,8 +72562,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -49626,8 +72651,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -49670,8 +72695,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -49712,8 +72737,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -49754,8 +72779,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -49860,9 +72885,9 @@ } }, { - "name": "to_string_box", - "start_line": 160, - "end_line": 162, + "name": "share_box", + "start_line": 161, + "end_line": 163, "parameters": [ "&self" ], @@ -49880,7 +72905,7 @@ } }, { - "name": "type_name", + "name": "to_string_box", "start_line": 165, "end_line": 167, "parameters": [ @@ -49900,9 +72925,29 @@ } }, { - "name": "equals", + "name": "type_name", "start_line": 170, - "end_line": 176, + "end_line": 172, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 175, + "end_line": 181, "parameters": [ "&self", "other: &dyn NyashBox" @@ -49922,8 +72967,8 @@ }, { "name": "fmt", - "start_line": 181, - "end_line": 183, + "start_line": 186, + "end_line": 188, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -49990,7 +73035,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 22, + "function_count": 23, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -50685,7 +73730,7 @@ "name": "WebDisplayBox", "full_name": "", "start_line": 155, - "end_line": 177, + "end_line": 182, "start_column": 0, "end_column": 0, "depth": 1, @@ -50710,10 +73755,10 @@ }, { "type": "function", - "name": "to_string_box", + "name": "share_box", "full_name": "", - "start_line": 160, - "end_line": 162, + "start_line": 161, + "end_line": 163, "start_column": 0, "end_column": 0, "depth": 3, @@ -50724,7 +73769,7 @@ }, { "type": "function", - "name": "type_name", + "name": "to_string_box", "full_name": "", "start_line": 165, "end_line": 167, @@ -50738,10 +73783,24 @@ }, { "type": "function", - "name": "equals", + "name": "type_name", "full_name": "", "start_line": 170, - "end_line": 176, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 175, + "end_line": 181, "start_column": 0, "end_column": 0, "depth": 3, @@ -50754,8 +73813,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 171, - "end_line": 175, + "start_line": 176, + "end_line": 180, "start_column": 0, "end_column": 0, "depth": 6, @@ -50768,8 +73827,8 @@ "type": "class", "name": "WebDisplayBox", "full_name": "", - "start_line": 180, - "end_line": 184, + "start_line": 185, + "end_line": 189, "start_column": 0, "end_column": 0, "depth": 1, @@ -50782,8 +73841,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 181, - "end_line": 183, + "start_line": 186, + "end_line": 188, "start_column": 0, "end_column": 0, "depth": 3, @@ -50797,35 +73856,5457 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 57, + "total_nodes": 58, "max_depth": 11, "node_type_counts": { + "function": 23, + "if_statement": 14, "import": 4, - "function": 22, - "file_root": 1, "class": 5, "variable": 11, - "if_statement": 14 + "file_root": 1 }, "classes": 5, - "functions": 22, + "functions": 23, "methods": 0, "variables": 11, "control_structures": 14 }, - "generated_at": "2025-08-13T11:36:21.750919637Z" + "generated_at": "2025-08-15T16:17:53.929987784Z" + }, + { + "file_info": { + "name": "box_arithmetic.rs", + "path": "src/box_arithmetic.rs", + "size_bytes": 0, + "total_lines": 742, + "code_lines": 591, + "comment_lines": 54, + "empty_lines": 97, + "code_ratio": 0.7964959568733153, + "analyzed_at": "2025-08-15T16:17:53.929971771Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "AddBox", + "parent_class": null, + "start_line": 15, + "end_line": 19, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "AddBox", + "parent_class": null, + "start_line": 21, + "end_line": 76, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "AddBox", + "parent_class": null, + "start_line": 78, + "end_line": 86, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Debug", + "type": "impl" + } + }, + { + "name": "AddBox", + "parent_class": null, + "start_line": 88, + "end_line": 120, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "AddBox", + "parent_class": null, + "start_line": 122, + "end_line": 142, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "AddBox", + "parent_class": null, + "start_line": 144, + "end_line": 148, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 151, + "end_line": 155, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 157, + "end_line": 192, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 194, + "end_line": 202, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Debug" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 204, + "end_line": 230, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 232, + "end_line": 240, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 242, + "end_line": 246, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 249, + "end_line": 253, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 255, + "end_line": 289, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 291, + "end_line": 299, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Debug" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 301, + "end_line": 327, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 329, + "end_line": 337, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 339, + "end_line": 343, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 346, + "end_line": 350, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 352, + "end_line": 395, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 397, + "end_line": 405, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Debug" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 407, + "end_line": 433, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 435, + "end_line": 443, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 445, + "end_line": 449, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 452, + "end_line": 456, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 458, + "end_line": 499, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 501, + "end_line": 508, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Debug" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 510, + "end_line": 524, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 526, + "end_line": 555, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 557, + "end_line": 561, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "CompareBox", + "parent_class": null, + "start_line": 564, + "end_line": 564, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "CompareBox", + "parent_class": null, + "start_line": 566, + "end_line": 635, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 22, + "end_line": 28, + "parameters": [ + "left", + "right" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "execute", + "start_line": 31, + "end_line": 75, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 79, + "end_line": 85, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 89, + "end_line": 92, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 94, + "end_line": 103, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 105, + "end_line": 107, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 109, + "end_line": 114, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 117, + "end_line": 119, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 123, + "end_line": 125, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 127, + "end_line": 129, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 131, + "end_line": 133, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 135, + "end_line": 137, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 139, + "end_line": 141, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 145, + "end_line": 147, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 158, + "end_line": 164, + "parameters": [ + "left", + "right" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "execute", + "start_line": 167, + "end_line": 191, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 195, + "end_line": 201, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 205, + "end_line": 208, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 210, + "end_line": 219, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 221, + "end_line": 221, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 222, + "end_line": 224, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 227, + "end_line": 229, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 233, + "end_line": 233, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 234, + "end_line": 234, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 235, + "end_line": 237, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 238, + "end_line": 238, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 239, + "end_line": 239, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 243, + "end_line": 245, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 256, + "end_line": 262, + "parameters": [ + "left", + "right" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute", + "start_line": 265, + "end_line": 288, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 292, + "end_line": 298, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 302, + "end_line": 305, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 307, + "end_line": 316, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 318, + "end_line": 318, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 319, + "end_line": 321, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 324, + "end_line": 326, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 330, + "end_line": 330, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 331, + "end_line": 331, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 332, + "end_line": 334, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 335, + "end_line": 335, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 336, + "end_line": 336, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 340, + "end_line": 342, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 353, + "end_line": 359, + "parameters": [ + "left", + "right" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute", + "start_line": 362, + "end_line": 394, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 398, + "end_line": 404, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 408, + "end_line": 411, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 413, + "end_line": 422, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 424, + "end_line": 424, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 425, + "end_line": 427, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 430, + "end_line": 432, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 436, + "end_line": 436, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 437, + "end_line": 437, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 438, + "end_line": 440, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 441, + "end_line": 441, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 442, + "end_line": 442, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 446, + "end_line": 448, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 459, + "end_line": 465, + "parameters": [ + "left", + "right" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute", + "start_line": 468, + "end_line": 498, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 502, + "end_line": 507, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 511, + "end_line": 511, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 512, + "end_line": 512, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 513, + "end_line": 515, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 517, + "end_line": 519, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 521, + "end_line": 523, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 527, + "end_line": 530, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 532, + "end_line": 541, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 543, + "end_line": 545, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 547, + "end_line": 549, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 552, + "end_line": 554, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 558, + "end_line": 560, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 568, + "end_line": 570, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "less", + "start_line": 573, + "end_line": 586, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "greater", + "start_line": 589, + "end_line": 602, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "less_equal", + "start_line": 605, + "end_line": 618, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "greater_equal", + "start_line": 621, + "end_line": 634, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_add_box_integers", + "start_line": 642, + "end_line": 649, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_add_box_strings", + "start_line": 652, + "end_line": 659, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_subtract_box", + "start_line": 662, + "end_line": 669, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_multiply_box", + "start_line": 672, + "end_line": 679, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_divide_box", + "start_line": 682, + "end_line": 690, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_divide_by_zero", + "start_line": 693, + "end_line": 700, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_modulo_box", + "start_line": 703, + "end_line": 710, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_modulo_by_zero", + "start_line": 713, + "end_line": 720, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_modulo_chip8_pattern", + "start_line": 723, + "end_line": 731, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_compare_box", + "start_line": 734, + "end_line": 741, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, BoxCore, StringBox, IntegerBox, BoolBox, VoidBox, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::math_box::FloatBox", + "imported_names": [], + "alias": null, + "line_number": 32, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::math_box::FloatBox", + "imported_names": [], + "alias": null, + "line_number": 363, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 639, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 32, + "function_count": 85, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 15, + "end_line": 19, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 21, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 22, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 31, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 32, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 35, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 78, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 79, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 88, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 89, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 94, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 105, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 109, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 117, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 122, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 123, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 127, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 131, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 135, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 139, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 144, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 145, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 151, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 157, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 158, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 167, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 173, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 194, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 195, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 204, + "end_line": 230, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 205, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 210, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 211, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 221, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 222, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 227, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 232, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 233, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 235, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 238, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 242, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 243, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 249, + "end_line": 253, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 255, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 256, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 265, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 267, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 271, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 291, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 292, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 301, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 302, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 303, + "end_line": 303, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 307, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 308, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 318, + "end_line": 318, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 319, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 324, + "end_line": 326, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 329, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 330, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 331, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 332, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 335, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 336, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 339, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 340, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 346, + "end_line": 350, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 352, + "end_line": 395, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 353, + "end_line": 359, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 362, + "end_line": 394, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 363, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 393, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 370, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 374, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 378, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 378, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 383, + "end_line": 387, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 383, + "end_line": 387, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 388, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 391, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 397, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 398, + "end_line": 404, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 407, + "end_line": 433, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 408, + "end_line": 411, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 409, + "end_line": 409, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 413, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 414, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 424, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 425, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 430, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 435, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 436, + "end_line": 436, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 438, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 441, + "end_line": 441, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 442, + "end_line": 442, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 445, + "end_line": 449, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 446, + "end_line": 448, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 452, + "end_line": 456, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 458, + "end_line": 499, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 459, + "end_line": 465, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 468, + "end_line": 498, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 470, + "end_line": 497, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 474, + "end_line": 477, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 478, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 482, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 482, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 491, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 491, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 492, + "end_line": 494, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 495, + "end_line": 495, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 501, + "end_line": 508, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 502, + "end_line": 507, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 510, + "end_line": 524, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 511, + "end_line": 511, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 512, + "end_line": 512, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 513, + "end_line": 515, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 517, + "end_line": 519, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 521, + "end_line": 523, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 526, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 527, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 528, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 532, + "end_line": 541, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 533, + "end_line": 540, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 543, + "end_line": 545, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 547, + "end_line": 549, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 552, + "end_line": 554, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 557, + "end_line": 561, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 558, + "end_line": 560, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CompareBox", + "full_name": "", + "start_line": 564, + "end_line": 564, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CompareBox", + "full_name": "", + "start_line": 566, + "end_line": 635, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 568, + "end_line": 570, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "less", + "full_name": "", + "start_line": 573, + "end_line": 586, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 575, + "end_line": 580, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 583, + "end_line": 583, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 584, + "end_line": 584, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "greater", + "full_name": "", + "start_line": 589, + "end_line": 602, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 591, + "end_line": 596, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 599, + "end_line": 599, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 600, + "end_line": 600, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "less_equal", + "full_name": "", + "start_line": 605, + "end_line": 618, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 607, + "end_line": 612, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 615, + "end_line": 615, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 616, + "end_line": 616, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "greater_equal", + "full_name": "", + "start_line": 621, + "end_line": 634, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 623, + "end_line": 628, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 631, + "end_line": 631, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 632, + "end_line": 632, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 639, + "end_line": 639, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_add_box_integers", + "full_name": "", + "start_line": 642, + "end_line": 649, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 643, + "end_line": 643, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 644, + "end_line": 644, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 645, + "end_line": 645, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 646, + "end_line": 646, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_add_box_strings", + "full_name": "", + "start_line": 652, + "end_line": 659, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 653, + "end_line": 653, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 654, + "end_line": 654, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 655, + "end_line": 655, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 656, + "end_line": 656, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_subtract_box", + "full_name": "", + "start_line": 662, + "end_line": 669, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 663, + "end_line": 663, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 664, + "end_line": 664, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 665, + "end_line": 665, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 666, + "end_line": 666, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_multiply_box", + "full_name": "", + "start_line": 672, + "end_line": 679, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 673, + "end_line": 673, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 674, + "end_line": 674, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 675, + "end_line": 675, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 676, + "end_line": 676, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_divide_box", + "full_name": "", + "start_line": 682, + "end_line": 690, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 683, + "end_line": 683, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 684, + "end_line": 684, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 685, + "end_line": 685, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 686, + "end_line": 686, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_divide_by_zero", + "full_name": "", + "start_line": 693, + "end_line": 700, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 694, + "end_line": 694, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 695, + "end_line": 695, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 696, + "end_line": 696, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 697, + "end_line": 697, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_modulo_box", + "full_name": "", + "start_line": 703, + "end_line": 710, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 704, + "end_line": 704, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 705, + "end_line": 705, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 706, + "end_line": 706, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 707, + "end_line": 707, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_modulo_by_zero", + "full_name": "", + "start_line": 713, + "end_line": 720, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 714, + "end_line": 714, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 715, + "end_line": 715, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 716, + "end_line": 716, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 717, + "end_line": 717, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_modulo_chip8_pattern", + "full_name": "", + "start_line": 723, + "end_line": 731, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 725, + "end_line": 725, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 726, + "end_line": 726, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 727, + "end_line": 727, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 728, + "end_line": 728, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_compare_box", + "full_name": "", + "start_line": 734, + "end_line": 741, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 735, + "end_line": 735, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 736, + "end_line": 736, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 227, + "max_depth": 10, + "node_type_counts": { + "class": 32, + "function": 85, + "file_root": 1, + "variable": 74, + "if_statement": 29, + "import": 6 + }, + "classes": 32, + "functions": 85, + "methods": 0, + "variables": 74, + "control_structures": 29 + }, + "generated_at": "2025-08-15T16:17:53.930005871Z" }, { "file_info": { "name": "box_operators.rs", "path": "src/box_operators.rs", "size_bytes": 0, - "total_lines": 531, - "code_lines": 376, - "comment_lines": 60, - "empty_lines": 95, - "code_ratio": 0.7080979284369114, - "analyzed_at": "2025-08-13T11:36:21.745767914Z", + "total_lines": 680, + "code_lines": 490, + "comment_lines": 75, + "empty_lines": 115, + "code_ratio": 0.7205882352941176, + "analyzed_at": "2025-08-15T16:17:53.929640314Z", "metadata": {} }, "language": "rust", @@ -50839,8 +79320,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashAdd" + "implementing_trait": "NyashAdd", + "type": "impl" } }, { @@ -50852,8 +79333,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashSub" + "implementing_trait": "NyashSub", + "type": "impl" } }, { @@ -50865,8 +79346,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashMul" + "implementing_trait": "NyashMul", + "type": "impl" } }, { @@ -50891,8 +79372,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "DynamicAdd" + "implementing_trait": "DynamicAdd", + "type": "impl" } }, { @@ -50917,8 +79398,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "DynamicMul", - "type": "impl" + "type": "impl", + "implementing_trait": "DynamicMul" } }, { @@ -50956,8 +79437,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashSub" + "implementing_trait": "NyashSub", + "type": "impl" } }, { @@ -50969,8 +79450,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashMul" + "implementing_trait": "NyashMul", + "type": "impl" } }, { @@ -50982,8 +79463,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashDiv" + "implementing_trait": "NyashDiv", + "type": "impl" } }, { @@ -51021,8 +79502,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "DynamicMul", - "type": "impl" + "type": "impl", + "implementing_trait": "DynamicMul" } }, { @@ -51073,8 +79554,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "DynamicAdd", - "type": "impl" + "type": "impl", + "implementing_trait": "DynamicAdd" } }, { @@ -51086,8 +79567,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "DynamicSub" + "implementing_trait": "DynamicSub", + "type": "impl" } }, { @@ -51112,8 +79593,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "DynamicDiv", - "type": "impl" + "type": "impl", + "implementing_trait": "DynamicDiv" } }, { @@ -51177,7 +79658,32 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "DynamicDiv", + "type": "impl", + "implementing_trait": "DynamicDiv" + } + }, + { + "name": "OperatorResolver", + "parent_class": null, + "start_line": 478, + "end_line": 478, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "OperatorResolver", + "parent_class": null, + "start_line": 480, + "end_line": 621, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { "type": "impl" } } @@ -52086,10 +80592,98 @@ "type": "function" } }, + { + "name": "resolve_add", + "start_line": 482, + "end_line": 519, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "resolve_sub", + "start_line": 522, + "end_line": 544, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "resolve_mul", + "start_line": 547, + "end_line": 581, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "resolve_div", + "start_line": 584, + "end_line": 620, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, { "name": "test_integer_addition", - "start_line": 479, - "end_line": 484, + "start_line": 628, + "end_line": 633, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -52106,8 +80700,8 @@ }, { "name": "test_string_concatenation", - "start_line": 487, - "end_line": 492, + "start_line": 636, + "end_line": 641, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -52124,8 +80718,8 @@ }, { "name": "test_string_repetition", - "start_line": 495, - "end_line": 500, + "start_line": 644, + "end_line": 649, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -52142,8 +80736,8 @@ }, { "name": "test_dynamic_addition", - "start_line": 503, - "end_line": 511, + "start_line": 652, + "end_line": 660, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -52160,8 +80754,8 @@ }, { "name": "test_boolean_arithmetic", - "start_line": 514, - "end_line": 519, + "start_line": 663, + "end_line": 668, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -52178,8 +80772,8 @@ }, { "name": "test_can_add_with", - "start_line": 522, - "end_line": 530, + "start_line": 671, + "end_line": 679, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -52225,7 +80819,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 476, + "line_number": 625, "metadata": {} } ], @@ -52242,8 +80836,8 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 27, - "function_count": 49, + "class_count": 29, + "function_count": 53, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -54025,12 +82619,460 @@ "attributes": {}, "source_text": null }, + { + "type": "class", + "name": "OperatorResolver", + "full_name": "", + "start_line": 478, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OperatorResolver", + "full_name": "", + "start_line": 480, + "end_line": 621, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_add", + "full_name": "", + "start_line": 482, + "end_line": 519, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 490, + "end_line": 494, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 491, + "end_line": 493, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 496, + "end_line": 500, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 497, + "end_line": 499, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 502, + "end_line": 506, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 503, + "end_line": 505, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 508, + "end_line": 512, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 509, + "end_line": 511, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_sub", + "full_name": "", + "start_line": 522, + "end_line": 544, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 527, + "end_line": 531, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 533, + "end_line": 537, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 534, + "end_line": 536, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_mul", + "full_name": "", + "start_line": 547, + "end_line": 581, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 552, + "end_line": 556, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 553, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 558, + "end_line": 562, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 559, + "end_line": 561, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 564, + "end_line": 568, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 565, + "end_line": 567, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 570, + "end_line": 574, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 571, + "end_line": 573, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_div", + "full_name": "", + "start_line": 584, + "end_line": 620, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 589, + "end_line": 596, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 590, + "end_line": 595, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 598, + "end_line": 605, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 599, + "end_line": 604, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 607, + "end_line": 613, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 608, + "end_line": 612, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "import", "name": "", "full_name": "", - "start_line": 476, - "end_line": 476, + "start_line": 625, + "end_line": 625, "start_column": 0, "end_column": 0, "depth": 3, @@ -54043,8 +83085,8 @@ "type": "function", "name": "test_integer_addition", "full_name": "", - "start_line": 479, - "end_line": 484, + "start_line": 628, + "end_line": 633, "start_column": 0, "end_column": 0, "depth": 3, @@ -54057,8 +83099,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 480, - "end_line": 480, + "start_line": 629, + "end_line": 629, "start_column": 0, "end_column": 0, "depth": 5, @@ -54071,8 +83113,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 481, - "end_line": 481, + "start_line": 630, + "end_line": 630, "start_column": 0, "end_column": 0, "depth": 5, @@ -54085,8 +83127,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 482, - "end_line": 482, + "start_line": 631, + "end_line": 631, "start_column": 0, "end_column": 0, "depth": 5, @@ -54099,8 +83141,8 @@ "type": "function", "name": "test_string_concatenation", "full_name": "", - "start_line": 487, - "end_line": 492, + "start_line": 636, + "end_line": 641, "start_column": 0, "end_column": 0, "depth": 3, @@ -54113,8 +83155,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 488, - "end_line": 488, + "start_line": 637, + "end_line": 637, "start_column": 0, "end_column": 0, "depth": 5, @@ -54127,8 +83169,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 489, - "end_line": 489, + "start_line": 638, + "end_line": 638, "start_column": 0, "end_column": 0, "depth": 5, @@ -54141,8 +83183,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 490, - "end_line": 490, + "start_line": 639, + "end_line": 639, "start_column": 0, "end_column": 0, "depth": 5, @@ -54155,8 +83197,8 @@ "type": "function", "name": "test_string_repetition", "full_name": "", - "start_line": 495, - "end_line": 500, + "start_line": 644, + "end_line": 649, "start_column": 0, "end_column": 0, "depth": 3, @@ -54169,8 +83211,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 496, - "end_line": 496, + "start_line": 645, + "end_line": 645, "start_column": 0, "end_column": 0, "depth": 5, @@ -54183,8 +83225,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 497, - "end_line": 497, + "start_line": 646, + "end_line": 646, "start_column": 0, "end_column": 0, "depth": 5, @@ -54197,8 +83239,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 498, - "end_line": 498, + "start_line": 647, + "end_line": 647, "start_column": 0, "end_column": 0, "depth": 5, @@ -54211,8 +83253,8 @@ "type": "function", "name": "test_dynamic_addition", "full_name": "", - "start_line": 503, - "end_line": 511, + "start_line": 652, + "end_line": 660, "start_column": 0, "end_column": 0, "depth": 3, @@ -54225,8 +83267,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 504, - "end_line": 504, + "start_line": 653, + "end_line": 653, "start_column": 0, "end_column": 0, "depth": 5, @@ -54239,8 +83281,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 505, - "end_line": 505, + "start_line": 654, + "end_line": 654, "start_column": 0, "end_column": 0, "depth": 5, @@ -54253,8 +83295,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 508, - "end_line": 508, + "start_line": 657, + "end_line": 657, "start_column": 0, "end_column": 0, "depth": 5, @@ -54267,8 +83309,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 509, - "end_line": 509, + "start_line": 658, + "end_line": 658, "start_column": 0, "end_column": 0, "depth": 5, @@ -54281,8 +83323,8 @@ "type": "function", "name": "test_boolean_arithmetic", "full_name": "", - "start_line": 514, - "end_line": 519, + "start_line": 663, + "end_line": 668, "start_column": 0, "end_column": 0, "depth": 3, @@ -54295,8 +83337,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 515, - "end_line": 515, + "start_line": 664, + "end_line": 664, "start_column": 0, "end_column": 0, "depth": 5, @@ -54309,8 +83351,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 516, - "end_line": 516, + "start_line": 665, + "end_line": 665, "start_column": 0, "end_column": 0, "depth": 5, @@ -54323,8 +83365,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 517, - "end_line": 517, + "start_line": 666, + "end_line": 666, "start_column": 0, "end_column": 0, "depth": 5, @@ -54337,8 +83379,8 @@ "type": "function", "name": "test_can_add_with", "full_name": "", - "start_line": 522, - "end_line": 530, + "start_line": 671, + "end_line": 679, "start_column": 0, "end_column": 0, "depth": 3, @@ -54351,8 +83393,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 523, - "end_line": 523, + "start_line": 672, + "end_line": 672, "start_column": 0, "end_column": 0, "depth": 5, @@ -54365,8 +83407,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 527, - "end_line": 527, + "start_line": 676, + "end_line": 676, "start_column": 0, "end_column": 0, "depth": 5, @@ -54380,35 +83422,35 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 152, + "total_nodes": 184, "max_depth": 11, "node_type_counts": { - "class": 27, - "function": 49, - "if_statement": 36, - "file_root": 1, + "if_statement": 62, "import": 4, - "variable": 35 + "class": 29, + "file_root": 1, + "variable": 35, + "function": 53 }, - "classes": 27, - "functions": 49, + "classes": 29, + "functions": 53, "methods": 0, "variables": 35, - "control_structures": 36 + "control_structures": 62 }, - "generated_at": "2025-08-13T11:36:21.745795247Z" + "generated_at": "2025-08-15T16:17:53.929670511Z" }, { "file_info": { "name": "box_trait.rs", "path": "src/box_trait.rs", "size_bytes": 0, - "total_lines": 1449, - "code_lines": 1080, - "comment_lines": 126, - "empty_lines": 243, - "code_ratio": 0.7453416149068323, - "analyzed_at": "2025-08-13T11:36:21.756206377Z", + "total_lines": 924, + "code_lines": 681, + "comment_lines": 85, + "empty_lines": 158, + "code_ratio": 0.737012987012987, + "analyzed_at": "2025-08-15T16:17:53.927708158Z", "metadata": {} }, "language": "rust", @@ -54416,8 +83458,8 @@ { "name": "BoxBase", "parent_class": null, - "start_line": 27, - "end_line": 30, + "start_line": 49, + "end_line": 52, "methods": [], "properties": [], "member_variables": [], @@ -54429,8 +83471,8 @@ { "name": "BoxBase", "parent_class": null, - "start_line": 32, - "end_line": 48, + "start_line": 54, + "end_line": 70, "methods": [], "properties": [], "member_variables": [], @@ -54441,21 +83483,8 @@ { "name": "BoxCore", "parent_class": null, - "start_line": 53, - "end_line": 68, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "trait", - "modifiers": "pub" - } - }, - { - "name": "NyashBox", - "parent_class": null, - "start_line": 72, - "end_line": 91, + "start_line": 75, + "end_line": 90, "methods": [], "properties": [], "member_variables": [], @@ -54464,11 +83493,24 @@ "type": "trait" } }, + { + "name": "NyashBox", + "parent_class": null, + "start_line": 94, + "end_line": 121, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "trait", + "modifiers": "pub" + } + }, { "name": "StringBox", "parent_class": null, - "start_line": 97, - "end_line": 100, + "start_line": 127, + "end_line": 130, "methods": [], "properties": [], "member_variables": [], @@ -54480,8 +83522,8 @@ { "name": "StringBox", "parent_class": null, - "start_line": 102, - "end_line": 195, + "start_line": 132, + "end_line": 225, "methods": [], "properties": [], "member_variables": [], @@ -54492,8 +83534,8 @@ { "name": "StringBox", "parent_class": null, - "start_line": 197, - "end_line": 217, + "start_line": 227, + "end_line": 247, "methods": [], "properties": [], "member_variables": [], @@ -54505,8 +83547,8 @@ { "name": "StringBox", "parent_class": null, - "start_line": 219, - "end_line": 240, + "start_line": 249, + "end_line": 274, "methods": [], "properties": [], "member_variables": [], @@ -54518,8 +83560,8 @@ { "name": "StringBox", "parent_class": null, - "start_line": 242, - "end_line": 246, + "start_line": 276, + "end_line": 280, "methods": [], "properties": [], "member_variables": [], @@ -54531,8 +83573,8 @@ { "name": "IntegerBox", "parent_class": null, - "start_line": 250, - "end_line": 253, + "start_line": 284, + "end_line": 287, "methods": [], "properties": [], "member_variables": [], @@ -54544,8 +83586,8 @@ { "name": "IntegerBox", "parent_class": null, - "start_line": 255, - "end_line": 266, + "start_line": 289, + "end_line": 300, "methods": [], "properties": [], "member_variables": [], @@ -54556,8 +83598,8 @@ { "name": "IntegerBox", "parent_class": null, - "start_line": 268, - "end_line": 288, + "start_line": 302, + "end_line": 322, "methods": [], "properties": [], "member_variables": [], @@ -54569,21 +83611,21 @@ { "name": "IntegerBox", "parent_class": null, - "start_line": 290, - "end_line": 311, + "start_line": 324, + "end_line": 349, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "NyashBox", - "type": "impl" + "type": "impl", + "implementing_trait": "NyashBox" } }, { "name": "IntegerBox", "parent_class": null, - "start_line": 313, - "end_line": 317, + "start_line": 351, + "end_line": 355, "methods": [], "properties": [], "member_variables": [], @@ -54595,8 +83637,8 @@ { "name": "BoolBox", "parent_class": null, - "start_line": 321, - "end_line": 324, + "start_line": 359, + "end_line": 362, "methods": [], "properties": [], "member_variables": [], @@ -54608,8 +83650,8 @@ { "name": "BoolBox", "parent_class": null, - "start_line": 326, - "end_line": 341, + "start_line": 364, + "end_line": 379, "methods": [], "properties": [], "member_variables": [], @@ -54620,8 +83662,8 @@ { "name": "BoolBox", "parent_class": null, - "start_line": 343, - "end_line": 363, + "start_line": 381, + "end_line": 401, "methods": [], "properties": [], "member_variables": [], @@ -54633,8 +83675,8 @@ { "name": "BoolBox", "parent_class": null, - "start_line": 365, - "end_line": 386, + "start_line": 403, + "end_line": 428, "methods": [], "properties": [], "member_variables": [], @@ -54646,98 +83688,21 @@ { "name": "BoolBox", "parent_class": null, - "start_line": 388, - "end_line": 392, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "Display" - } - }, - { - "name": "VoidBox", - "parent_class": null, - "start_line": 396, - "end_line": 398, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "struct", - "modifiers": "pub" - } - }, - { - "name": "VoidBox", - "parent_class": null, - "start_line": 400, - "end_line": 406, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" - } - }, - { - "name": "VoidBox", - "parent_class": null, - "start_line": 408, - "end_line": 412, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "Default", - "type": "impl" - } - }, - { - "name": "VoidBox", - "parent_class": null, - "start_line": 414, + "start_line": 430, "end_line": 434, "methods": [], "properties": [], "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" - } - }, - { - "name": "VoidBox", - "parent_class": null, - "start_line": 436, - "end_line": 453, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "NyashBox", - "type": "impl" - } - }, - { - "name": "VoidBox", - "parent_class": null, - "start_line": 455, - "end_line": 459, - "methods": [], - "properties": [], - "member_variables": [], "metadata": { "type": "impl", "implementing_trait": "Display" } }, { - "name": "FileBox", + "name": "VoidBox", "parent_class": null, - "start_line": 466, - "end_line": 469, + "start_line": 438, + "end_line": 440, "methods": [], "properties": [], "member_variables": [], @@ -54747,10 +83712,10 @@ } }, { - "name": "FileBox", + "name": "VoidBox", "parent_class": null, - "start_line": 471, - "end_line": 518, + "start_line": 442, + "end_line": 448, "methods": [], "properties": [], "member_variables": [], @@ -54759,74 +83724,23 @@ } }, { - "name": "FileBox", + "name": "VoidBox", "parent_class": null, - "start_line": 520, - "end_line": 540, + "start_line": 450, + "end_line": 454, "methods": [], "properties": [], "member_variables": [], "metadata": { "type": "impl", - "implementing_trait": "BoxCore" + "implementing_trait": "Default" } }, { - "name": "FileBox", + "name": "VoidBox", "parent_class": null, - "start_line": 542, - "end_line": 563, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" - } - }, - { - "name": "FileBox", - "parent_class": null, - "start_line": 565, - "end_line": 569, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "Display" - } - }, - { - "name": "ErrorBox", - "parent_class": null, - "start_line": 573, - "end_line": 577, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "struct", - "modifiers": "pub" - } - }, - { - "name": "ErrorBox", - "parent_class": null, - "start_line": 579, - "end_line": 587, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" - } - }, - { - "name": "ErrorBox", - "parent_class": null, - "start_line": 589, - "end_line": 609, + "start_line": 456, + "end_line": 476, "methods": [], "properties": [], "member_variables": [], @@ -54835,11 +83749,139 @@ "type": "impl" } }, + { + "name": "VoidBox", + "parent_class": null, + "start_line": 478, + "end_line": 499, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "VoidBox", + "parent_class": null, + "start_line": 501, + "end_line": 505, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 512, + "end_line": 515, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 517, + "end_line": 564, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 566, + "end_line": 586, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 588, + "end_line": 613, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 615, + "end_line": 619, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, { "name": "ErrorBox", "parent_class": null, - "start_line": 611, - "end_line": 632, + "start_line": 623, + "end_line": 627, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 629, + "end_line": 637, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 639, + "end_line": 659, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 661, + "end_line": 686, "methods": [], "properties": [], "member_variables": [], @@ -54851,8 +83893,8 @@ { "name": "ErrorBox", "parent_class": null, - "start_line": 634, - "end_line": 638, + "start_line": 688, + "end_line": 692, "methods": [], "properties": [], "member_variables": [], @@ -54864,8 +83906,8 @@ { "name": "ResultBox", "parent_class": null, - "start_line": 642, - "end_line": 647, + "start_line": 696, + "end_line": 701, "methods": [], "properties": [], "member_variables": [], @@ -54877,8 +83919,8 @@ { "name": "ResultBox", "parent_class": null, - "start_line": 649, - "end_line": 690, + "start_line": 703, + "end_line": 744, "methods": [], "properties": [], "member_variables": [], @@ -54889,8 +83931,8 @@ { "name": "ResultBox", "parent_class": null, - "start_line": 692, - "end_line": 712, + "start_line": 746, + "end_line": 766, "methods": [], "properties": [], "member_variables": [], @@ -54902,8 +83944,8 @@ { "name": "ResultBox", "parent_class": null, - "start_line": 714, - "end_line": 777, + "start_line": 768, + "end_line": 835, "methods": [], "properties": [], "member_variables": [], @@ -54915,162 +83957,8 @@ { "name": "ResultBox", "parent_class": null, - "start_line": 779, - "end_line": 783, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "Display", - "type": "impl" - } - }, - { - "name": "FutureBox", - "parent_class": null, - "start_line": 787, - "end_line": 791, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "struct", - "modifiers": "pub" - } - }, - { - "name": "FutureBox", - "parent_class": null, - "start_line": 793, - "end_line": 801, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "Clone", - "type": "impl" - } - }, - { - "name": "FutureBox", - "parent_class": null, - "start_line": 803, - "end_line": 853, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" - } - }, - { - "name": "FutureBox", - "parent_class": null, - "start_line": 855, - "end_line": 886, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" - } - }, - { - "name": "FutureBox", - "parent_class": null, - "start_line": 888, - "end_line": 908, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" - } - }, - { - "name": "FutureBox", - "parent_class": null, - "start_line": 910, - "end_line": 914, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "Display", - "type": "impl" - } - }, - { - "name": "AddBox", - "parent_class": null, - "start_line": 919, - "end_line": 923, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "modifiers": "pub", - "type": "struct" - } - }, - { - "name": "AddBox", - "parent_class": null, - "start_line": 925, - "end_line": 975, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" - } - }, - { - "name": "AddBox", - "parent_class": null, - "start_line": 977, - "end_line": 985, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "Debug", - "type": "impl" - } - }, - { - "name": "AddBox", - "parent_class": null, - "start_line": 987, - "end_line": 1014, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "NyashBox", - "type": "impl" - } - }, - { - "name": "AddBox", - "parent_class": null, - "start_line": 1016, - "end_line": 1036, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" - } - }, - { - "name": "AddBox", - "parent_class": null, - "start_line": 1038, - "end_line": 1042, + "start_line": 837, + "end_line": 841, "methods": [], "properties": [], "member_variables": [], @@ -55078,113 +83966,13 @@ "type": "impl", "implementing_trait": "Display" } - }, - { - "name": "SubtractBox", - "parent_class": null, - "start_line": 1047, - "end_line": 1050, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "modifiers": "pub", - "type": "struct" - } - }, - { - "name": "SubtractBox", - "parent_class": null, - "start_line": 1052, - "end_line": 1095, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" - } - }, - { - "name": "MultiplyBox", - "parent_class": null, - "start_line": 1098, - "end_line": 1101, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "struct", - "modifiers": "pub" - } - }, - { - "name": "MultiplyBox", - "parent_class": null, - "start_line": 1103, - "end_line": 1146, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" - } - }, - { - "name": "DivideBox", - "parent_class": null, - "start_line": 1149, - "end_line": 1152, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "struct", - "modifiers": "pub" - } - }, - { - "name": "DivideBox", - "parent_class": null, - "start_line": 1154, - "end_line": 1213, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" - } - }, - { - "name": "CompareBox", - "parent_class": null, - "start_line": 1216, - "end_line": 1216, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "modifiers": "pub", - "type": "struct" - } - }, - { - "name": "CompareBox", - "parent_class": null, - "start_line": 1218, - "end_line": 1370, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" - } } ], "functions": [ { "name": "next_box_id", - "start_line": 18, - "end_line": 21, + "start_line": 21, + "end_line": 24, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -55200,10 +83988,31 @@ "type": "function" } }, + { + "name": "is_builtin_box", + "start_line": 41, + "end_line": 43, + "parameters": [ + "box_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, { "name": "new", - "start_line": 34, - "end_line": 39, + "start_line": 56, + "end_line": 61, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -55221,8 +84030,8 @@ }, { "name": "with_parent_type", - "start_line": 42, - "end_line": 47, + "start_line": 64, + "end_line": 69, "parameters": [ "parent_type_id" ], @@ -55242,8 +84051,28 @@ }, { "name": "type_name", - "start_line": 80, - "end_line": 82, + "start_line": 102, + "end_line": 104, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_arc", + "start_line": 113, + "end_line": 115, "parameters": [ "&self" ], @@ -55262,8 +84091,8 @@ }, { "name": "new", - "start_line": 103, - "end_line": 108, + "start_line": 133, + "end_line": 138, "parameters": [ "value" ], @@ -55277,14 +84106,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "empty", - "start_line": 110, - "end_line": 112, + "start_line": 140, + "end_line": 142, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -55302,8 +84131,8 @@ }, { "name": "split", - "start_line": 117, - "end_line": 123, + "start_line": 147, + "end_line": 153, "parameters": [ "&self", "delimiter: &str" @@ -55324,8 +84153,8 @@ }, { "name": "closure", - "start_line": 118, - "end_line": 118, + "start_line": 148, + "end_line": 148, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -55342,8 +84171,8 @@ }, { "name": "closure", - "start_line": 120, - "end_line": 120, + "start_line": 150, + "end_line": 150, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -55360,8 +84189,8 @@ }, { "name": "find", - "start_line": 126, - "end_line": 131, + "start_line": 156, + "end_line": 161, "parameters": [ "&self", "search: &str" @@ -55382,8 +84211,8 @@ }, { "name": "replace", - "start_line": 134, - "end_line": 136, + "start_line": 164, + "end_line": 166, "parameters": [ "&self", "old: &str", @@ -55405,8 +84234,8 @@ }, { "name": "trim", - "start_line": 139, - "end_line": 141, + "start_line": 169, + "end_line": 171, "parameters": [ "&self" ], @@ -55426,8 +84255,8 @@ }, { "name": "to_upper", - "start_line": 144, - "end_line": 146, + "start_line": 174, + "end_line": 176, "parameters": [ "&self" ], @@ -55447,8 +84276,8 @@ }, { "name": "to_lower", - "start_line": 149, - "end_line": 151, + "start_line": 179, + "end_line": 181, "parameters": [ "&self" ], @@ -55468,8 +84297,8 @@ }, { "name": "contains", - "start_line": 154, - "end_line": 156, + "start_line": 184, + "end_line": 186, "parameters": [ "&self", "search: &str" @@ -55484,14 +84313,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "starts_with", - "start_line": 159, - "end_line": 161, + "start_line": 189, + "end_line": 191, "parameters": [ "&self", "prefix: &str" @@ -55512,8 +84341,8 @@ }, { "name": "ends_with", - "start_line": 164, - "end_line": 166, + "start_line": 194, + "end_line": 196, "parameters": [ "&self", "suffix: &str" @@ -55528,14 +84357,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "join", - "start_line": 169, - "end_line": 180, + "start_line": 199, + "end_line": 210, "parameters": [ "&self", "array_box" @@ -55556,8 +84385,8 @@ }, { "name": "closure", - "start_line": 173, - "end_line": 173, + "start_line": 203, + "end_line": 203, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -55574,8 +84403,8 @@ }, { "name": "length", - "start_line": 183, - "end_line": 185, + "start_line": 213, + "end_line": 215, "parameters": [ "&self" ], @@ -55589,14 +84418,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "get", - "start_line": 188, - "end_line": 194, + "start_line": 218, + "end_line": 224, "parameters": [ "&self", "index: usize" @@ -55617,8 +84446,8 @@ }, { "name": "box_id", - "start_line": 198, - "end_line": 200, + "start_line": 228, + "end_line": 230, "parameters": [ "&self" ], @@ -55637,128 +84466,6 @@ }, { "name": "parent_type_id", - "start_line": 202, - "end_line": 204, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "fmt_box", - "start_line": 206, - "end_line": 208, - "parameters": [ - "&self", - "f: &mut std::fmt::Formatter" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "as_any", - "start_line": 210, - "end_line": 212, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "as_any_mut", - "start_line": 214, - "end_line": 216, - "parameters": [ - "&mut self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "to_string_box", - "start_line": 220, - "end_line": 222, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "equals", - "start_line": 224, - "end_line": 230, - "parameters": [ - "&self", - "other: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "type_name", "start_line": 232, "end_line": 234, "parameters": [ @@ -55778,130 +84485,9 @@ } }, { - "name": "clone_box", + "name": "fmt_box", "start_line": 236, "end_line": 238, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "fmt", - "start_line": 243, - "end_line": 245, - "parameters": [ - "&self", - "f: &mut std::fmt::Formatter<'_>" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "new", - "start_line": 256, - "end_line": 261, - "parameters": [ - "value: i64" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "zero", - "start_line": 263, - "end_line": 265, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "box_id", - "start_line": 269, - "end_line": 271, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "parent_type_id", - "start_line": 273, - "end_line": 275, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "fmt_box", - "start_line": 277, - "end_line": 279, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -55921,8 +84507,8 @@ }, { "name": "as_any", - "start_line": 281, - "end_line": 283, + "start_line": 240, + "end_line": 242, "parameters": [ "&self" ], @@ -55941,8 +84527,8 @@ }, { "name": "as_any_mut", - "start_line": 285, - "end_line": 287, + "start_line": 244, + "end_line": 246, "parameters": [ "&mut self" ], @@ -55961,8 +84547,8 @@ }, { "name": "to_string_box", - "start_line": 291, - "end_line": 293, + "start_line": 250, + "end_line": 252, "parameters": [ "&self" ], @@ -55981,8 +84567,8 @@ }, { "name": "equals", - "start_line": 295, - "end_line": 301, + "start_line": 254, + "end_line": 260, "parameters": [ "&self", "other: &dyn NyashBox" @@ -56002,6 +84588,127 @@ }, { "name": "type_name", + "start_line": 262, + "end_line": 264, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 266, + "end_line": 268, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 271, + "end_line": 273, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 277, + "end_line": 279, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 290, + "end_line": 295, + "parameters": [ + "value: i64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "zero", + "start_line": 297, + "end_line": 299, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", "start_line": 303, "end_line": 305, "parameters": [ @@ -56021,7 +84728,7 @@ } }, { - "name": "clone_box", + "name": "parent_type_id", "start_line": 307, "end_line": 309, "parameters": [ @@ -56040,10 +84747,172 @@ "type": "function" } }, + { + "name": "fmt_box", + "start_line": 311, + "end_line": 313, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 315, + "end_line": 317, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 319, + "end_line": 321, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 325, + "end_line": 327, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 329, + "end_line": 335, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 337, + "end_line": 339, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 341, + "end_line": 343, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 346, + "end_line": 348, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "fmt", - "start_line": 314, - "end_line": 316, + "start_line": 352, + "end_line": 354, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -56063,8 +84932,8 @@ }, { "name": "new", - "start_line": 327, - "end_line": 332, + "start_line": 365, + "end_line": 370, "parameters": [ "value: bool" ], @@ -56084,8 +84953,8 @@ }, { "name": "true_box", - "start_line": 334, - "end_line": 336, + "start_line": 372, + "end_line": 374, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -56103,8 +84972,8 @@ }, { "name": "false_box", - "start_line": 338, - "end_line": 340, + "start_line": 376, + "end_line": 378, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -56116,174 +84985,12 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "box_id", - "start_line": 344, - "end_line": 346, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "parent_type_id", - "start_line": 348, - "end_line": 350, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "fmt_box", - "start_line": 352, - "end_line": 354, - "parameters": [ - "&self", - "f: &mut std::fmt::Formatter" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "as_any", - "start_line": 356, - "end_line": 358, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "as_any_mut", - "start_line": 360, - "end_line": 362, - "parameters": [ - "&mut self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "to_string_box", - "start_line": 366, - "end_line": 368, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "equals", - "start_line": 370, - "end_line": 376, - "parameters": [ - "&self", - "other: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "type_name", - "start_line": 378, - "end_line": 380, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "clone_box", "start_line": 382, "end_line": 384, "parameters": [ @@ -56302,88 +85009,10 @@ "type": "function" } }, - { - "name": "fmt", - "start_line": 389, - "end_line": 391, - "parameters": [ - "&self", - "f: &mut std::fmt::Formatter<'_>" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "new", - "start_line": 401, - "end_line": 405, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "default", - "start_line": 409, - "end_line": 411, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "box_id", - "start_line": 415, - "end_line": 417, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, { "name": "parent_type_id", - "start_line": 419, - "end_line": 421, + "start_line": 386, + "end_line": 388, "parameters": [ "&self" ], @@ -56402,8 +85031,8 @@ }, { "name": "fmt_box", - "start_line": 423, - "end_line": 425, + "start_line": 390, + "end_line": 392, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -56423,8 +85052,8 @@ }, { "name": "as_any", - "start_line": 427, - "end_line": 429, + "start_line": 394, + "end_line": 396, "parameters": [ "&self" ], @@ -56443,8 +85072,8 @@ }, { "name": "as_any_mut", - "start_line": 431, - "end_line": 433, + "start_line": 398, + "end_line": 400, "parameters": [ "&mut self" ], @@ -56463,8 +85092,8 @@ }, { "name": "to_string_box", - "start_line": 437, - "end_line": 439, + "start_line": 404, + "end_line": 406, "parameters": [ "&self" ], @@ -56483,8 +85112,8 @@ }, { "name": "equals", - "start_line": 441, - "end_line": 443, + "start_line": 408, + "end_line": 414, "parameters": [ "&self", "other: &dyn NyashBox" @@ -56504,8 +85133,8 @@ }, { "name": "type_name", - "start_line": 445, - "end_line": 447, + "start_line": 416, + "end_line": 418, "parameters": [ "&self" ], @@ -56524,8 +85153,28 @@ }, { "name": "clone_box", - "start_line": 449, - "end_line": 451, + "start_line": 420, + "end_line": 422, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 425, + "end_line": 427, "parameters": [ "&self" ], @@ -56544,8 +85193,8 @@ }, { "name": "fmt", - "start_line": 456, - "end_line": 458, + "start_line": 431, + "end_line": 433, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -56565,8 +85214,268 @@ }, { "name": "new", - "start_line": 472, - "end_line": 477, + "start_line": 443, + "end_line": 447, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "default", + "start_line": 451, + "end_line": 453, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 457, + "end_line": 459, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 461, + "end_line": 463, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 465, + "end_line": 467, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 469, + "end_line": 471, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 473, + "end_line": 475, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 479, + "end_line": 481, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 483, + "end_line": 485, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 487, + "end_line": 489, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 491, + "end_line": 493, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 496, + "end_line": 498, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 502, + "end_line": 504, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 518, + "end_line": 523, "parameters": [ "path" ], @@ -56586,8 +85495,8 @@ }, { "name": "read", - "start_line": 482, - "end_line": 487, + "start_line": 528, + "end_line": 533, "parameters": [ "&self" ], @@ -56607,8 +85516,8 @@ }, { "name": "write", - "start_line": 490, - "end_line": 496, + "start_line": 536, + "end_line": 542, "parameters": [ "&self", "content" @@ -56629,8 +85538,8 @@ }, { "name": "exists", - "start_line": 499, - "end_line": 501, + "start_line": 545, + "end_line": 547, "parameters": [ "&self" ], @@ -56650,8 +85559,8 @@ }, { "name": "delete", - "start_line": 504, - "end_line": 509, + "start_line": 550, + "end_line": 555, "parameters": [ "&self" ], @@ -56671,8 +85580,8 @@ }, { "name": "copy", - "start_line": 512, - "end_line": 517, + "start_line": 558, + "end_line": 563, "parameters": [ "&self", "dest_path: &str" @@ -56693,8 +85602,8 @@ }, { "name": "box_id", - "start_line": 521, - "end_line": 523, + "start_line": 567, + "end_line": 569, "parameters": [ "&self" ], @@ -56713,8 +85622,8 @@ }, { "name": "parent_type_id", - "start_line": 525, - "end_line": 527, + "start_line": 571, + "end_line": 573, "parameters": [ "&self" ], @@ -56733,8 +85642,8 @@ }, { "name": "fmt_box", - "start_line": 529, - "end_line": 531, + "start_line": 575, + "end_line": 577, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -56754,8 +85663,8 @@ }, { "name": "as_any", - "start_line": 533, - "end_line": 535, + "start_line": 579, + "end_line": 581, "parameters": [ "&self" ], @@ -56774,8 +85683,8 @@ }, { "name": "as_any_mut", - "start_line": 537, - "end_line": 539, + "start_line": 583, + "end_line": 585, "parameters": [ "&mut self" ], @@ -56794,8 +85703,8 @@ }, { "name": "to_string_box", - "start_line": 543, - "end_line": 545, + "start_line": 589, + "end_line": 591, "parameters": [ "&self" ], @@ -56814,8 +85723,8 @@ }, { "name": "equals", - "start_line": 547, - "end_line": 553, + "start_line": 593, + "end_line": 599, "parameters": [ "&self", "other: &dyn NyashBox" @@ -56835,8 +85744,8 @@ }, { "name": "type_name", - "start_line": 555, - "end_line": 557, + "start_line": 601, + "end_line": 603, "parameters": [ "&self" ], @@ -56855,8 +85764,28 @@ }, { "name": "clone_box", - "start_line": 559, - "end_line": 561, + "start_line": 605, + "end_line": 607, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 610, + "end_line": 612, "parameters": [ "&self" ], @@ -56875,8 +85804,8 @@ }, { "name": "fmt", - "start_line": 566, - "end_line": 568, + "start_line": 616, + "end_line": 618, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -56896,8 +85825,8 @@ }, { "name": "new", - "start_line": 580, - "end_line": 586, + "start_line": 630, + "end_line": 636, "parameters": [ "error_type", "message" @@ -56912,14 +85841,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "box_id", - "start_line": 590, - "end_line": 592, + "start_line": 640, + "end_line": 642, "parameters": [ "&self" ], @@ -56938,8 +85867,8 @@ }, { "name": "parent_type_id", - "start_line": 594, - "end_line": 596, + "start_line": 644, + "end_line": 646, "parameters": [ "&self" ], @@ -56958,8 +85887,8 @@ }, { "name": "fmt_box", - "start_line": 598, - "end_line": 600, + "start_line": 648, + "end_line": 650, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -56979,8 +85908,8 @@ }, { "name": "as_any", - "start_line": 602, - "end_line": 604, + "start_line": 652, + "end_line": 654, "parameters": [ "&self" ], @@ -56999,8 +85928,8 @@ }, { "name": "as_any_mut", - "start_line": 606, - "end_line": 608, + "start_line": 656, + "end_line": 658, "parameters": [ "&mut self" ], @@ -57019,8 +85948,8 @@ }, { "name": "to_string_box", - "start_line": 612, - "end_line": 614, + "start_line": 662, + "end_line": 664, "parameters": [ "&self" ], @@ -57039,8 +85968,8 @@ }, { "name": "equals", - "start_line": 616, - "end_line": 622, + "start_line": 666, + "end_line": 672, "parameters": [ "&self", "other: &dyn NyashBox" @@ -57060,8 +85989,8 @@ }, { "name": "type_name", - "start_line": 624, - "end_line": 626, + "start_line": 674, + "end_line": 676, "parameters": [ "&self" ], @@ -57080,8 +86009,28 @@ }, { "name": "clone_box", - "start_line": 628, - "end_line": 630, + "start_line": 678, + "end_line": 680, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 683, + "end_line": 685, "parameters": [ "&self" ], @@ -57100,8 +86049,8 @@ }, { "name": "fmt", - "start_line": 635, - "end_line": 637, + "start_line": 689, + "end_line": 691, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -57121,8 +86070,8 @@ }, { "name": "new_success", - "start_line": 650, - "end_line": 657, + "start_line": 704, + "end_line": 711, "parameters": [ "value" ], @@ -57142,8 +86091,8 @@ }, { "name": "new_error", - "start_line": 659, - "end_line": 666, + "start_line": 713, + "end_line": 720, "parameters": [ "error: ErrorBox" ], @@ -57163,8 +86112,8 @@ }, { "name": "is_ok", - "start_line": 671, - "end_line": 673, + "start_line": 725, + "end_line": 727, "parameters": [ "&self" ], @@ -57184,8 +86133,8 @@ }, { "name": "get_value", - "start_line": 676, - "end_line": 681, + "start_line": 730, + "end_line": 735, "parameters": [ "&self" ], @@ -57205,8 +86154,8 @@ }, { "name": "get_error", - "start_line": 684, - "end_line": 689, + "start_line": 738, + "end_line": 743, "parameters": [ "&self" ], @@ -57220,14 +86169,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "box_id", - "start_line": 693, - "end_line": 695, + "start_line": 747, + "end_line": 749, "parameters": [ "&self" ], @@ -57246,8 +86195,8 @@ }, { "name": "parent_type_id", - "start_line": 697, - "end_line": 699, + "start_line": 751, + "end_line": 753, "parameters": [ "&self" ], @@ -57266,8 +86215,8 @@ }, { "name": "fmt_box", - "start_line": 701, - "end_line": 703, + "start_line": 755, + "end_line": 757, "parameters": [ "&self", "f: &mut std::fmt::Formatter" @@ -57287,8 +86236,8 @@ }, { "name": "as_any", - "start_line": 705, - "end_line": 707, + "start_line": 759, + "end_line": 761, "parameters": [ "&self" ], @@ -57307,8 +86256,8 @@ }, { "name": "as_any_mut", - "start_line": 709, - "end_line": 711, + "start_line": 763, + "end_line": 765, "parameters": [ "&mut self" ], @@ -57327,8 +86276,8 @@ }, { "name": "to_string_box", - "start_line": 715, - "end_line": 729, + "start_line": 769, + "end_line": 783, "parameters": [ "&self" ], @@ -57347,8 +86296,8 @@ }, { "name": "equals", - "start_line": 731, - "end_line": 755, + "start_line": 785, + "end_line": 809, "parameters": [ "&self", "other: &dyn NyashBox" @@ -57368,8 +86317,8 @@ }, { "name": "type_name", - "start_line": 757, - "end_line": 759, + "start_line": 811, + "end_line": 813, "parameters": [ "&self" ], @@ -57388,8 +86337,8 @@ }, { "name": "clone_box", - "start_line": 761, - "end_line": 775, + "start_line": 815, + "end_line": 829, "parameters": [ "&self" ], @@ -57407,90 +86356,8 @@ } }, { - "name": "fmt", - "start_line": 780, - "end_line": 782, - "parameters": [ - "&self", - "f: &mut std::fmt::Formatter<'_>" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "clone", - "start_line": 794, - "end_line": 800, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "new", - "start_line": 804, - "end_line": 810, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "set_result", - "start_line": 813, - "end_line": 818, - "parameters": [ - "&self", - "value" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "get", - "start_line": 821, + "name": "share_box", + "start_line": 832, "end_line": 834, "parameters": [ "&self" @@ -57504,275 +86371,14 @@ "rating": "simple", "rating_emoji": "🟢" }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "ready", - "start_line": 837, - "end_line": 839, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "wait_and_get", - "start_line": 842, - "end_line": 852, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "closure", - "start_line": 850, - "end_line": 850, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "closure", - "start_line": 851, - "end_line": 851, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "to_string_box", - "start_line": 856, - "end_line": 868, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "equals", - "start_line": 870, - "end_line": 876, - "parameters": [ - "&self", - "other: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "type_name", - "start_line": 878, - "end_line": 880, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "clone_box", - "start_line": 882, - "end_line": 884, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "box_id", - "start_line": 889, - "end_line": 891, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "parent_type_id", - "start_line": 893, - "end_line": 895, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "fmt_box", - "start_line": 897, - "end_line": 899, - "parameters": [ - "&self", - "f: &mut std::fmt::Formatter" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "as_any", - "start_line": 901, - "end_line": 903, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "as_any_mut", - "start_line": 905, - "end_line": 907, - "parameters": [ - "&mut self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, "metadata": { "type": "function" } }, { "name": "fmt", - "start_line": 911, - "end_line": 913, + "start_line": 838, + "end_line": 840, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -57790,494 +86396,10 @@ "type": "function" } }, - { - "name": "new", - "start_line": 926, - "end_line": 932, - "parameters": [ - "left", - "right" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "execute", - "start_line": 935, - "end_line": 974, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "fmt", - "start_line": 978, - "end_line": 984, - "parameters": [ - "&self", - "f: &mut std::fmt::Formatter<'_>" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "to_string_box", - "start_line": 988, - "end_line": 991, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "equals", - "start_line": 993, - "end_line": 1001, - "parameters": [ - "&self", - "other: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "type_name", - "start_line": 1003, - "end_line": 1005, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "clone_box", - "start_line": 1007, - "end_line": 1012, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "box_id", - "start_line": 1017, - "end_line": 1019, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "parent_type_id", - "start_line": 1021, - "end_line": 1023, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "fmt_box", - "start_line": 1025, - "end_line": 1027, - "parameters": [ - "&self", - "f: &mut std::fmt::Formatter" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "as_any", - "start_line": 1029, - "end_line": 1031, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "as_any_mut", - "start_line": 1033, - "end_line": 1035, - "parameters": [ - "&mut self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "fmt", - "start_line": 1039, - "end_line": 1041, - "parameters": [ - "&self", - "f: &mut std::fmt::Formatter<'_>" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "new", - "start_line": 1053, - "end_line": 1055, - "parameters": [ - "left", - "right" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "execute", - "start_line": 1057, - "end_line": 1094, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "new", - "start_line": 1104, - "end_line": 1106, - "parameters": [ - "left", - "right" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "execute", - "start_line": 1108, - "end_line": 1145, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "new", - "start_line": 1155, - "end_line": 1157, - "parameters": [ - "left", - "right" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "execute", - "start_line": 1159, - "end_line": 1212, - "parameters": [ - "&self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "less", - "start_line": 1219, - "end_line": 1255, - "parameters": [ - "left: &dyn NyashBox", - "right: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "greater", - "start_line": 1257, - "end_line": 1293, - "parameters": [ - "left: &dyn NyashBox", - "right: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "less_equal", - "start_line": 1295, - "end_line": 1331, - "parameters": [ - "left: &dyn NyashBox", - "right: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "greater_equal", - "start_line": 1333, - "end_line": 1369, - "parameters": [ - "left: &dyn NyashBox", - "right: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, { "name": "test_string_box_creation", - "start_line": 1379, - "end_line": 1384, + "start_line": 854, + "end_line": 859, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -58294,8 +86416,8 @@ }, { "name": "test_integer_box_creation", - "start_line": 1387, - "end_line": 1392, + "start_line": 862, + "end_line": 867, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -58312,8 +86434,8 @@ }, { "name": "test_bool_box_creation", - "start_line": 1395, - "end_line": 1400, + "start_line": 870, + "end_line": 875, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -58330,8 +86452,8 @@ }, { "name": "test_box_equality", - "start_line": 1403, - "end_line": 1410, + "start_line": 878, + "end_line": 885, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -58348,8 +86470,8 @@ }, { "name": "test_add_box_integers", - "start_line": 1413, - "end_line": 1421, + "start_line": 888, + "end_line": 896, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -58366,8 +86488,8 @@ }, { "name": "test_add_box_strings", - "start_line": 1424, - "end_line": 1432, + "start_line": 899, + "end_line": 907, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -58384,8 +86506,8 @@ }, { "name": "test_box_ids_unique", - "start_line": 1435, - "end_line": 1441, + "start_line": 910, + "end_line": 916, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -58402,8 +86524,8 @@ }, { "name": "test_void_box", - "start_line": 1444, - "end_line": 1448, + "start_line": 919, + "end_line": 923, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -58438,7 +86560,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "std::sync::Arc", "imported_names": [], "alias": null, "line_number": 11, @@ -58473,71 +86595,15 @@ "module_path": "crate::boxes::array::ArrayBox", "imported_names": [], "alias": null, - "line_number": 462, + "line_number": 508, "metadata": {} }, { "type": "rust_use", - "module_path": "crate::boxes::math_box::FloatBox", + "module_path": "crate::box_arithmetic::{AddBox, SubtractBox, MultiplyBox, DivideBox, ModuloBox, CompareBox}", "imported_names": [], "alias": null, - "line_number": 936, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "crate::boxes::math_box::FloatBox", - "imported_names": [], - "alias": null, - "line_number": 1058, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "crate::boxes::math_box::FloatBox", - "imported_names": [], - "alias": null, - "line_number": 1109, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "crate::boxes::math_box::FloatBox", - "imported_names": [], - "alias": null, - "line_number": 1160, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "crate::boxes::FloatBox", - "imported_names": [], - "alias": null, - "line_number": 1220, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "crate::boxes::FloatBox", - "imported_names": [], - "alias": null, - "line_number": 1258, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "crate::boxes::FloatBox", - "imported_names": [], - "alias": null, - "line_number": 1296, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "crate::boxes::FloatBox", - "imported_names": [], - "alias": null, - "line_number": 1334, + "line_number": 847, "metadata": {} }, { @@ -58545,7 +86611,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 1376, + "line_number": 851, "metadata": {} } ], @@ -58562,9 +86628,9 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 60, - "function_count": 159, - "import_count": 16, + "class_count": 40, + "function_count": 127, + "import_count": 9, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -58669,8 +86735,8 @@ "type": "function", "name": "next_box_id", "full_name": "", - "start_line": 18, - "end_line": 21, + "start_line": 21, + "end_line": 24, "start_column": 0, "end_column": 0, "depth": 1, @@ -58683,8 +86749,8 @@ "type": "variable", "name": "COUNTER", "full_name": "", - "start_line": 19, - "end_line": 19, + "start_line": 22, + "end_line": 22, "start_column": 0, "end_column": 0, "depth": 3, @@ -58694,11 +86760,25 @@ "source_text": null }, { - "type": "class", - "name": "BoxBase", + "type": "variable", + "name": "BUILTIN_BOXES", "full_name": "", - "start_line": 27, - "end_line": 30, + "start_line": 28, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_builtin_box", + "full_name": "", + "start_line": 41, + "end_line": 43, "start_column": 0, "end_column": 0, "depth": 1, @@ -58711,8 +86791,22 @@ "type": "class", "name": "BoxBase", "full_name": "", - "start_line": 32, - "end_line": 48, + "start_line": 49, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxBase", + "full_name": "", + "start_line": 54, + "end_line": 70, "start_column": 0, "end_column": 0, "depth": 1, @@ -58725,8 +86819,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 34, - "end_line": 39, + "start_line": 56, + "end_line": 61, "start_column": 0, "end_column": 0, "depth": 3, @@ -58739,8 +86833,8 @@ "type": "function", "name": "with_parent_type", "full_name": "", - "start_line": 42, - "end_line": 47, + "start_line": 64, + "end_line": 69, "start_column": 0, "end_column": 0, "depth": 3, @@ -58753,8 +86847,8 @@ "type": "class", "name": "BoxCore", "full_name": "", - "start_line": 53, - "end_line": 68, + "start_line": 75, + "end_line": 90, "start_column": 0, "end_column": 0, "depth": 1, @@ -58767,8 +86861,8 @@ "type": "class", "name": "NyashBox", "full_name": "", - "start_line": 72, - "end_line": 91, + "start_line": 94, + "end_line": 121, "start_column": 0, "end_column": 0, "depth": 1, @@ -58781,8 +86875,22 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 80, - "end_line": 82, + "start_line": 102, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_arc", + "full_name": "", + "start_line": 113, + "end_line": 115, "start_column": 0, "end_column": 0, "depth": 3, @@ -58795,8 +86903,8 @@ "type": "class", "name": "StringBox", "full_name": "", - "start_line": 97, - "end_line": 100, + "start_line": 127, + "end_line": 130, "start_column": 0, "end_column": 0, "depth": 1, @@ -58809,8 +86917,8 @@ "type": "class", "name": "StringBox", "full_name": "", - "start_line": 102, - "end_line": 195, + "start_line": 132, + "end_line": 225, "start_column": 0, "end_column": 0, "depth": 1, @@ -58823,8 +86931,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 103, - "end_line": 108, + "start_line": 133, + "end_line": 138, "start_column": 0, "end_column": 0, "depth": 3, @@ -58837,8 +86945,8 @@ "type": "function", "name": "empty", "full_name": "", - "start_line": 110, - "end_line": 112, + "start_line": 140, + "end_line": 142, "start_column": 0, "end_column": 0, "depth": 3, @@ -58851,8 +86959,8 @@ "type": "function", "name": "split", "full_name": "", - "start_line": 117, - "end_line": 123, + "start_line": 147, + "end_line": 153, "start_column": 0, "end_column": 0, "depth": 3, @@ -58865,8 +86973,8 @@ "type": "variable", "name": "Vec", "full_name": "", - "start_line": 118, - "end_line": 118, + "start_line": 148, + "end_line": 148, "start_column": 0, "end_column": 0, "depth": 5, @@ -58879,8 +86987,8 @@ "type": "variable", "name": "Vec>", "full_name": "", - "start_line": 119, - "end_line": 121, + "start_line": 149, + "end_line": 151, "start_column": 0, "end_column": 0, "depth": 5, @@ -58893,91 +87001,7 @@ "type": "function", "name": "find", "full_name": "", - "start_line": 126, - "end_line": 131, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "replace", - "full_name": "", - "start_line": 134, - "end_line": 136, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "trim", - "full_name": "", - "start_line": 139, - "end_line": 141, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "to_upper", - "full_name": "", - "start_line": 144, - "end_line": 146, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "to_lower", - "full_name": "", - "start_line": 149, - "end_line": 151, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "contains", - "full_name": "", - "start_line": 154, - "end_line": 156, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "starts_with", - "full_name": "", - "start_line": 159, + "start_line": 156, "end_line": 161, "start_column": 0, "end_column": 0, @@ -58989,7 +87013,7 @@ }, { "type": "function", - "name": "ends_with", + "name": "replace", "full_name": "", "start_line": 164, "end_line": 166, @@ -59003,10 +87027,94 @@ }, { "type": "function", - "name": "join", + "name": "trim", "full_name": "", "start_line": 169, - "end_line": 180, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_upper", + "full_name": "", + "start_line": 174, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_lower", + "full_name": "", + "start_line": 179, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "contains", + "full_name": "", + "start_line": 184, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "starts_with", + "full_name": "", + "start_line": 189, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ends_with", + "full_name": "", + "start_line": 194, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "join", + "full_name": "", + "start_line": 199, + "end_line": 210, "start_column": 0, "end_column": 0, "depth": 3, @@ -59019,8 +87127,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 170, - "end_line": 179, + "start_line": 200, + "end_line": 209, "start_column": 0, "end_column": 0, "depth": 6, @@ -59033,8 +87141,8 @@ "type": "variable", "name": "Vec", "full_name": "", - "start_line": 171, - "end_line": 174, + "start_line": 201, + "end_line": 204, "start_column": 0, "end_column": 0, "depth": 8, @@ -59047,8 +87155,8 @@ "type": "function", "name": "length", "full_name": "", - "start_line": 183, - "end_line": 185, + "start_line": 213, + "end_line": 215, "start_column": 0, "end_column": 0, "depth": 3, @@ -59061,8 +87169,8 @@ "type": "function", "name": "get", "full_name": "", - "start_line": 188, - "end_line": 194, + "start_line": 218, + "end_line": 224, "start_column": 0, "end_column": 0, "depth": 3, @@ -59075,8 +87183,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 189, - "end_line": 193, + "start_line": 219, + "end_line": 223, "start_column": 0, "end_column": 0, "depth": 6, @@ -59089,8 +87197,8 @@ "type": "class", "name": "StringBox", "full_name": "", - "start_line": 197, - "end_line": 217, + "start_line": 227, + "end_line": 247, "start_column": 0, "end_column": 0, "depth": 1, @@ -59103,8 +87211,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 198, - "end_line": 200, + "start_line": 228, + "end_line": 230, "start_column": 0, "end_column": 0, "depth": 3, @@ -59117,118 +87225,6 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 202, - "end_line": 204, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt_box", - "full_name": "", - "start_line": 206, - "end_line": 208, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "as_any", - "full_name": "", - "start_line": 210, - "end_line": 212, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "as_any_mut", - "full_name": "", - "start_line": 214, - "end_line": 216, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "StringBox", - "full_name": "", - "start_line": 219, - "end_line": 240, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "to_string_box", - "full_name": "", - "start_line": 220, - "end_line": 222, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "equals", - "full_name": "", - "start_line": 224, - "end_line": 230, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 225, - "end_line": 229, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "type_name", - "full_name": "", "start_line": 232, "end_line": 234, "start_column": 0, @@ -59241,7 +87237,7 @@ }, { "type": "function", - "name": "clone_box", + "name": "fmt_box", "full_name": "", "start_line": 236, "end_line": 238, @@ -59253,152 +87249,12 @@ "attributes": {}, "source_text": null }, - { - "type": "class", - "name": "StringBox", - "full_name": "", - "start_line": 242, - "end_line": 246, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt", - "full_name": "", - "start_line": 243, - "end_line": 245, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "IntegerBox", - "full_name": "", - "start_line": 250, - "end_line": 253, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "IntegerBox", - "full_name": "", - "start_line": 255, - "end_line": 266, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "new", - "full_name": "", - "start_line": 256, - "end_line": 261, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "zero", - "full_name": "", - "start_line": 263, - "end_line": 265, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "IntegerBox", - "full_name": "", - "start_line": 268, - "end_line": 288, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "box_id", - "full_name": "", - "start_line": 269, - "end_line": 271, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parent_type_id", - "full_name": "", - "start_line": 273, - "end_line": 275, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt_box", - "full_name": "", - "start_line": 277, - "end_line": 279, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", "name": "as_any", "full_name": "", - "start_line": 281, - "end_line": 283, + "start_line": 240, + "end_line": 242, "start_column": 0, "end_column": 0, "depth": 3, @@ -59411,8 +87267,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 285, - "end_line": 287, + "start_line": 244, + "end_line": 246, "start_column": 0, "end_column": 0, "depth": 3, @@ -59423,10 +87279,10 @@ }, { "type": "class", - "name": "IntegerBox", + "name": "StringBox", "full_name": "", - "start_line": 290, - "end_line": 311, + "start_line": 249, + "end_line": 274, "start_column": 0, "end_column": 0, "depth": 1, @@ -59439,8 +87295,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 291, - "end_line": 293, + "start_line": 250, + "end_line": 252, "start_column": 0, "end_column": 0, "depth": 3, @@ -59453,8 +87309,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 295, - "end_line": 301, + "start_line": 254, + "end_line": 260, "start_column": 0, "end_column": 0, "depth": 3, @@ -59467,8 +87323,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 296, - "end_line": 300, + "start_line": 255, + "end_line": 259, "start_column": 0, "end_column": 0, "depth": 6, @@ -59481,6 +87337,146 @@ "type": "function", "name": "type_name", "full_name": "", + "start_line": 262, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 266, + "end_line": 268, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 271, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 276, + "end_line": 280, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 277, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 284, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 289, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 290, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "zero", + "full_name": "", + "start_line": 297, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 302, + "end_line": 322, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", "start_line": 303, "end_line": 305, "start_column": 0, @@ -59493,7 +87489,7 @@ }, { "type": "function", - "name": "clone_box", + "name": "parent_type_id", "full_name": "", "start_line": 307, "end_line": 309, @@ -59505,152 +87501,12 @@ "attributes": {}, "source_text": null }, - { - "type": "class", - "name": "IntegerBox", - "full_name": "", - "start_line": 313, - "end_line": 317, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt", - "full_name": "", - "start_line": 314, - "end_line": 316, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "BoolBox", - "full_name": "", - "start_line": 321, - "end_line": 324, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "BoolBox", - "full_name": "", - "start_line": 326, - "end_line": 341, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "new", - "full_name": "", - "start_line": 327, - "end_line": 332, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "true_box", - "full_name": "", - "start_line": 334, - "end_line": 336, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "false_box", - "full_name": "", - "start_line": 338, - "end_line": 340, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "BoolBox", - "full_name": "", - "start_line": 343, - "end_line": 363, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "box_id", - "full_name": "", - "start_line": 344, - "end_line": 346, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parent_type_id", - "full_name": "", - "start_line": 348, - "end_line": 350, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 352, - "end_line": 354, + "start_line": 311, + "end_line": 313, "start_column": 0, "end_column": 0, "depth": 3, @@ -59663,8 +87519,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 356, - "end_line": 358, + "start_line": 315, + "end_line": 317, "start_column": 0, "end_column": 0, "depth": 3, @@ -59677,8 +87533,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 360, - "end_line": 362, + "start_line": 319, + "end_line": 321, "start_column": 0, "end_column": 0, "depth": 3, @@ -59689,10 +87545,10 @@ }, { "type": "class", - "name": "BoolBox", + "name": "IntegerBox", "full_name": "", - "start_line": 365, - "end_line": 386, + "start_line": 324, + "end_line": 349, "start_column": 0, "end_column": 0, "depth": 1, @@ -59705,8 +87561,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 366, - "end_line": 368, + "start_line": 325, + "end_line": 327, "start_column": 0, "end_column": 0, "depth": 3, @@ -59715,26 +87571,12 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 367, - "end_line": 367, - "start_column": 0, - "end_column": 0, - "depth": 7, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", "name": "equals", "full_name": "", - "start_line": 370, - "end_line": 376, + "start_line": 329, + "end_line": 335, "start_column": 0, "end_column": 0, "depth": 3, @@ -59747,8 +87589,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 371, - "end_line": 375, + "start_line": 330, + "end_line": 334, "start_column": 0, "end_column": 0, "depth": 6, @@ -59761,8 +87603,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 378, - "end_line": 380, + "start_line": 337, + "end_line": 339, "start_column": 0, "end_column": 0, "depth": 3, @@ -59775,8 +87617,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 382, - "end_line": 384, + "start_line": 341, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 346, + "end_line": 348, "start_column": 0, "end_column": 0, "depth": 3, @@ -59787,10 +87643,10 @@ }, { "type": "class", - "name": "BoolBox", + "name": "IntegerBox", "full_name": "", - "start_line": 388, - "end_line": 392, + "start_line": 351, + "end_line": 355, "start_column": 0, "end_column": 0, "depth": 1, @@ -59803,8 +87659,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 389, - "end_line": 391, + "start_line": 352, + "end_line": 354, "start_column": 0, "end_column": 0, "depth": 3, @@ -59815,10 +87671,10 @@ }, { "type": "class", - "name": "VoidBox", + "name": "BoolBox", "full_name": "", - "start_line": 396, - "end_line": 398, + "start_line": 359, + "end_line": 362, "start_column": 0, "end_column": 0, "depth": 1, @@ -59829,10 +87685,10 @@ }, { "type": "class", - "name": "VoidBox", + "name": "BoolBox", "full_name": "", - "start_line": 400, - "end_line": 406, + "start_line": 364, + "end_line": 379, "start_column": 0, "end_column": 0, "depth": 1, @@ -59845,8 +87701,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 401, - "end_line": 405, + "start_line": 365, + "end_line": 370, "start_column": 0, "end_column": 0, "depth": 3, @@ -59855,26 +87711,26 @@ "attributes": {}, "source_text": null }, - { - "type": "class", - "name": "VoidBox", - "full_name": "", - "start_line": 408, - "end_line": 412, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", - "name": "default", + "name": "true_box", "full_name": "", - "start_line": 409, - "end_line": 411, + "start_line": 372, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "false_box", + "full_name": "", + "start_line": 376, + "end_line": 378, "start_column": 0, "end_column": 0, "depth": 3, @@ -59885,10 +87741,10 @@ }, { "type": "class", - "name": "VoidBox", + "name": "BoolBox", "full_name": "", - "start_line": 414, - "end_line": 434, + "start_line": 381, + "end_line": 401, "start_column": 0, "end_column": 0, "depth": 1, @@ -59901,8 +87757,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 415, - "end_line": 417, + "start_line": 382, + "end_line": 384, "start_column": 0, "end_column": 0, "depth": 3, @@ -59915,8 +87771,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 419, - "end_line": 421, + "start_line": 386, + "end_line": 388, "start_column": 0, "end_column": 0, "depth": 3, @@ -59929,8 +87785,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 423, - "end_line": 425, + "start_line": 390, + "end_line": 392, "start_column": 0, "end_column": 0, "depth": 3, @@ -59943,8 +87799,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 427, - "end_line": 429, + "start_line": 394, + "end_line": 396, "start_column": 0, "end_column": 0, "depth": 3, @@ -59957,6 +87813,146 @@ "type": "function", "name": "as_any_mut", "full_name": "", + "start_line": 398, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 403, + "end_line": 428, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 404, + "end_line": 406, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 405, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 408, + "end_line": 414, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 409, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 416, + "end_line": 418, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 420, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 425, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 430, + "end_line": 434, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", "start_line": 431, "end_line": 433, "start_column": 0, @@ -59971,8 +87967,22 @@ "type": "class", "name": "VoidBox", "full_name": "", - "start_line": 436, - "end_line": 453, + "start_line": 438, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VoidBox", + "full_name": "", + "start_line": 442, + "end_line": 448, "start_column": 0, "end_column": 0, "depth": 1, @@ -59983,37 +87993,9 @@ }, { "type": "function", - "name": "to_string_box", + "name": "new", "full_name": "", - "start_line": 437, - "end_line": 439, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "equals", - "full_name": "", - "start_line": 441, - "end_line": 443, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "type_name", - "full_name": "", - "start_line": 445, + "start_line": 443, "end_line": 447, "start_column": 0, "end_column": 0, @@ -60023,28 +88005,210 @@ "attributes": {}, "source_text": null }, - { - "type": "function", - "name": "clone_box", - "full_name": "", - "start_line": 449, - "end_line": 451, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "class", "name": "VoidBox", "full_name": "", - "start_line": 455, + "start_line": 450, + "end_line": 454, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 451, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VoidBox", + "full_name": "", + "start_line": 456, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 457, "end_line": 459, "start_column": 0, "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 461, + "end_line": 463, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 465, + "end_line": 467, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 469, + "end_line": 471, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 473, + "end_line": 475, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VoidBox", + "full_name": "", + "start_line": 478, + "end_line": 499, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 479, + "end_line": 481, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 483, + "end_line": 485, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 487, + "end_line": 489, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 491, + "end_line": 493, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 496, + "end_line": 498, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VoidBox", + "full_name": "", + "start_line": 501, + "end_line": 505, + "start_column": 0, + "end_column": 0, "depth": 1, "scope_path": "", "children": [], @@ -60055,8 +88219,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 456, - "end_line": 458, + "start_line": 502, + "end_line": 504, "start_column": 0, "end_column": 0, "depth": 3, @@ -60069,8 +88233,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 462, - "end_line": 462, + "start_line": 508, + "end_line": 508, "start_column": 0, "end_column": 0, "depth": 1, @@ -60083,8 +88247,8 @@ "type": "class", "name": "FileBox", "full_name": "", - "start_line": 466, - "end_line": 469, + "start_line": 512, + "end_line": 515, "start_column": 0, "end_column": 0, "depth": 1, @@ -60097,8 +88261,8 @@ "type": "class", "name": "FileBox", "full_name": "", - "start_line": 471, - "end_line": 518, + "start_line": 517, + "end_line": 564, "start_column": 0, "end_column": 0, "depth": 1, @@ -60111,8 +88275,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 472, - "end_line": 477, + "start_line": 518, + "end_line": 523, "start_column": 0, "end_column": 0, "depth": 3, @@ -60125,8 +88289,8 @@ "type": "function", "name": "read", "full_name": "", - "start_line": 482, - "end_line": 487, + "start_line": 528, + "end_line": 533, "start_column": 0, "end_column": 0, "depth": 3, @@ -60139,8 +88303,8 @@ "type": "function", "name": "write", "full_name": "", - "start_line": 490, - "end_line": 496, + "start_line": 536, + "end_line": 542, "start_column": 0, "end_column": 0, "depth": 3, @@ -60153,8 +88317,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 491, - "end_line": 491, + "start_line": 537, + "end_line": 537, "start_column": 0, "end_column": 0, "depth": 5, @@ -60167,8 +88331,8 @@ "type": "function", "name": "exists", "full_name": "", - "start_line": 499, - "end_line": 501, + "start_line": 545, + "end_line": 547, "start_column": 0, "end_column": 0, "depth": 3, @@ -60181,8 +88345,8 @@ "type": "function", "name": "delete", "full_name": "", - "start_line": 504, - "end_line": 509, + "start_line": 550, + "end_line": 555, "start_column": 0, "end_column": 0, "depth": 3, @@ -60195,8 +88359,8 @@ "type": "function", "name": "copy", "full_name": "", - "start_line": 512, - "end_line": 517, + "start_line": 558, + "end_line": 563, "start_column": 0, "end_column": 0, "depth": 3, @@ -60209,8 +88373,8 @@ "type": "class", "name": "FileBox", "full_name": "", - "start_line": 520, - "end_line": 540, + "start_line": 566, + "end_line": 586, "start_column": 0, "end_column": 0, "depth": 1, @@ -60223,8 +88387,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 521, - "end_line": 523, + "start_line": 567, + "end_line": 569, "start_column": 0, "end_column": 0, "depth": 3, @@ -60237,8 +88401,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 525, - "end_line": 527, + "start_line": 571, + "end_line": 573, "start_column": 0, "end_column": 0, "depth": 3, @@ -60251,8 +88415,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 529, - "end_line": 531, + "start_line": 575, + "end_line": 577, "start_column": 0, "end_column": 0, "depth": 3, @@ -60265,8 +88429,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 533, - "end_line": 535, + "start_line": 579, + "end_line": 581, "start_column": 0, "end_column": 0, "depth": 3, @@ -60279,8 +88443,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 537, - "end_line": 539, + "start_line": 583, + "end_line": 585, "start_column": 0, "end_column": 0, "depth": 3, @@ -60293,8 +88457,8 @@ "type": "class", "name": "FileBox", "full_name": "", - "start_line": 542, - "end_line": 563, + "start_line": 588, + "end_line": 613, "start_column": 0, "end_column": 0, "depth": 1, @@ -60307,8 +88471,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 543, - "end_line": 545, + "start_line": 589, + "end_line": 591, "start_column": 0, "end_column": 0, "depth": 3, @@ -60321,8 +88485,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 547, - "end_line": 553, + "start_line": 593, + "end_line": 599, "start_column": 0, "end_column": 0, "depth": 3, @@ -60335,8 +88499,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 548, - "end_line": 552, + "start_line": 594, + "end_line": 598, "start_column": 0, "end_column": 0, "depth": 6, @@ -60349,8 +88513,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 555, - "end_line": 557, + "start_line": 601, + "end_line": 603, "start_column": 0, "end_column": 0, "depth": 3, @@ -60363,8 +88527,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 559, - "end_line": 561, + "start_line": 605, + "end_line": 607, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 610, + "end_line": 612, "start_column": 0, "end_column": 0, "depth": 3, @@ -60377,8 +88555,8 @@ "type": "class", "name": "FileBox", "full_name": "", - "start_line": 565, - "end_line": 569, + "start_line": 615, + "end_line": 619, "start_column": 0, "end_column": 0, "depth": 1, @@ -60391,8 +88569,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 566, - "end_line": 568, + "start_line": 616, + "end_line": 618, "start_column": 0, "end_column": 0, "depth": 3, @@ -60405,8 +88583,8 @@ "type": "class", "name": "ErrorBox", "full_name": "", - "start_line": 573, - "end_line": 577, + "start_line": 623, + "end_line": 627, "start_column": 0, "end_column": 0, "depth": 1, @@ -60419,8 +88597,8 @@ "type": "class", "name": "ErrorBox", "full_name": "", - "start_line": 579, - "end_line": 587, + "start_line": 629, + "end_line": 637, "start_column": 0, "end_column": 0, "depth": 1, @@ -60433,8 +88611,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 580, - "end_line": 586, + "start_line": 630, + "end_line": 636, "start_column": 0, "end_column": 0, "depth": 3, @@ -60447,8 +88625,8 @@ "type": "class", "name": "ErrorBox", "full_name": "", - "start_line": 589, - "end_line": 609, + "start_line": 639, + "end_line": 659, "start_column": 0, "end_column": 0, "depth": 1, @@ -60461,8 +88639,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 590, - "end_line": 592, + "start_line": 640, + "end_line": 642, "start_column": 0, "end_column": 0, "depth": 3, @@ -60475,8 +88653,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 594, - "end_line": 596, + "start_line": 644, + "end_line": 646, "start_column": 0, "end_column": 0, "depth": 3, @@ -60489,8 +88667,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 598, - "end_line": 600, + "start_line": 648, + "end_line": 650, "start_column": 0, "end_column": 0, "depth": 3, @@ -60503,8 +88681,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 602, - "end_line": 604, + "start_line": 652, + "end_line": 654, "start_column": 0, "end_column": 0, "depth": 3, @@ -60517,8 +88695,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 606, - "end_line": 608, + "start_line": 656, + "end_line": 658, "start_column": 0, "end_column": 0, "depth": 3, @@ -60531,8 +88709,8 @@ "type": "class", "name": "ErrorBox", "full_name": "", - "start_line": 611, - "end_line": 632, + "start_line": 661, + "end_line": 686, "start_column": 0, "end_column": 0, "depth": 1, @@ -60545,8 +88723,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 612, - "end_line": 614, + "start_line": 662, + "end_line": 664, "start_column": 0, "end_column": 0, "depth": 3, @@ -60559,8 +88737,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 616, - "end_line": 622, + "start_line": 666, + "end_line": 672, "start_column": 0, "end_column": 0, "depth": 3, @@ -60573,8 +88751,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 617, - "end_line": 621, + "start_line": 667, + "end_line": 671, "start_column": 0, "end_column": 0, "depth": 6, @@ -60587,8 +88765,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 624, - "end_line": 626, + "start_line": 674, + "end_line": 676, "start_column": 0, "end_column": 0, "depth": 3, @@ -60601,8 +88779,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 628, - "end_line": 630, + "start_line": 678, + "end_line": 680, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 683, + "end_line": 685, "start_column": 0, "end_column": 0, "depth": 3, @@ -60615,8 +88807,8 @@ "type": "class", "name": "ErrorBox", "full_name": "", - "start_line": 634, - "end_line": 638, + "start_line": 688, + "end_line": 692, "start_column": 0, "end_column": 0, "depth": 1, @@ -60629,8 +88821,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 635, - "end_line": 637, + "start_line": 689, + "end_line": 691, "start_column": 0, "end_column": 0, "depth": 3, @@ -60643,8 +88835,8 @@ "type": "class", "name": "ResultBox", "full_name": "", - "start_line": 642, - "end_line": 647, + "start_line": 696, + "end_line": 701, "start_column": 0, "end_column": 0, "depth": 1, @@ -60657,8 +88849,8 @@ "type": "class", "name": "ResultBox", "full_name": "", - "start_line": 649, - "end_line": 690, + "start_line": 703, + "end_line": 744, "start_column": 0, "end_column": 0, "depth": 1, @@ -60671,8 +88863,8 @@ "type": "function", "name": "new_success", "full_name": "", - "start_line": 650, - "end_line": 657, + "start_line": 704, + "end_line": 711, "start_column": 0, "end_column": 0, "depth": 3, @@ -60685,8 +88877,8 @@ "type": "function", "name": "new_error", "full_name": "", - "start_line": 659, - "end_line": 666, + "start_line": 713, + "end_line": 720, "start_column": 0, "end_column": 0, "depth": 3, @@ -60699,8 +88891,8 @@ "type": "function", "name": "is_ok", "full_name": "", - "start_line": 671, - "end_line": 673, + "start_line": 725, + "end_line": 727, "start_column": 0, "end_column": 0, "depth": 3, @@ -60713,8 +88905,8 @@ "type": "function", "name": "get_value", "full_name": "", - "start_line": 676, - "end_line": 681, + "start_line": 730, + "end_line": 735, "start_column": 0, "end_column": 0, "depth": 3, @@ -60727,8 +88919,8 @@ "type": "function", "name": "get_error", "full_name": "", - "start_line": 684, - "end_line": 689, + "start_line": 738, + "end_line": 743, "start_column": 0, "end_column": 0, "depth": 3, @@ -60741,8 +88933,8 @@ "type": "class", "name": "ResultBox", "full_name": "", - "start_line": 692, - "end_line": 712, + "start_line": 746, + "end_line": 766, "start_column": 0, "end_column": 0, "depth": 1, @@ -60755,8 +88947,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 693, - "end_line": 695, + "start_line": 747, + "end_line": 749, "start_column": 0, "end_column": 0, "depth": 3, @@ -60769,8 +88961,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 697, - "end_line": 699, + "start_line": 751, + "end_line": 753, "start_column": 0, "end_column": 0, "depth": 3, @@ -60783,8 +88975,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 701, - "end_line": 703, + "start_line": 755, + "end_line": 757, "start_column": 0, "end_column": 0, "depth": 3, @@ -60797,8 +88989,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 705, - "end_line": 707, + "start_line": 759, + "end_line": 761, "start_column": 0, "end_column": 0, "depth": 3, @@ -60811,8 +89003,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 709, - "end_line": 711, + "start_line": 763, + "end_line": 765, "start_column": 0, "end_column": 0, "depth": 3, @@ -60825,8 +89017,8 @@ "type": "class", "name": "ResultBox", "full_name": "", - "start_line": 714, - "end_line": 777, + "start_line": 768, + "end_line": 835, "start_column": 0, "end_column": 0, "depth": 1, @@ -60839,8 +89031,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 715, - "end_line": 729, + "start_line": 769, + "end_line": 783, "start_column": 0, "end_column": 0, "depth": 3, @@ -60853,8 +89045,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 716, - "end_line": 728, + "start_line": 770, + "end_line": 782, "start_column": 0, "end_column": 0, "depth": 6, @@ -60867,8 +89059,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 717, - "end_line": 721, + "start_line": 771, + "end_line": 775, "start_column": 0, "end_column": 0, "depth": 9, @@ -60881,8 +89073,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 723, - "end_line": 727, + "start_line": 777, + "end_line": 781, "start_column": 0, "end_column": 0, "depth": 10, @@ -60895,8 +89087,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 731, - "end_line": 755, + "start_line": 785, + "end_line": 809, "start_column": 0, "end_column": 0, "depth": 3, @@ -60909,8 +89101,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 732, - "end_line": 754, + "start_line": 786, + "end_line": 808, "start_column": 0, "end_column": 0, "depth": 6, @@ -60923,8 +89115,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 733, - "end_line": 735, + "start_line": 787, + "end_line": 789, "start_column": 0, "end_column": 0, "depth": 9, @@ -60937,8 +89129,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 737, - "end_line": 751, + "start_line": 791, + "end_line": 805, "start_column": 0, "end_column": 0, "depth": 9, @@ -60951,8 +89143,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 757, - "end_line": 759, + "start_line": 811, + "end_line": 813, "start_column": 0, "end_column": 0, "depth": 3, @@ -60965,8 +89157,8 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 761, - "end_line": 775, + "start_line": 815, + "end_line": 829, "start_column": 0, "end_column": 0, "depth": 3, @@ -60979,8 +89171,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 762, - "end_line": 774, + "start_line": 816, + "end_line": 828, "start_column": 0, "end_column": 0, "depth": 6, @@ -60993,8 +89185,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 763, - "end_line": 767, + "start_line": 817, + "end_line": 821, "start_column": 0, "end_column": 0, "depth": 9, @@ -61007,8 +89199,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 769, - "end_line": 773, + "start_line": 823, + "end_line": 827, "start_column": 0, "end_column": 0, "depth": 10, @@ -61017,151 +89209,11 @@ "attributes": {}, "source_text": null }, - { - "type": "class", - "name": "ResultBox", - "full_name": "", - "start_line": 779, - "end_line": 783, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", - "name": "fmt", + "name": "share_box", "full_name": "", - "start_line": 780, - "end_line": 782, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "FutureBox", - "full_name": "", - "start_line": 787, - "end_line": 791, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "FutureBox", - "full_name": "", - "start_line": 793, - "end_line": 801, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "clone", - "full_name": "", - "start_line": 794, - "end_line": 800, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "FutureBox", - "full_name": "", - "start_line": 803, - "end_line": 853, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "new", - "full_name": "", - "start_line": 804, - "end_line": 810, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "set_result", - "full_name": "", - "start_line": 813, - "end_line": 818, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 814, - "end_line": 814, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 816, - "end_line": 816, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "get", - "full_name": "", - "start_line": 821, + "start_line": 832, "end_line": 834, "start_column": 0, "end_column": 0, @@ -61172,347 +89224,11 @@ "source_text": null }, { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 823, - "end_line": 830, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 824, - "end_line": 824, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 825, - "end_line": 827, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 832, - "end_line": 832, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "ready", + "type": "class", + "name": "ResultBox", "full_name": "", "start_line": 837, - "end_line": 839, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "wait_and_get", - "full_name": "", - "start_line": 842, - "end_line": 852, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 844, - "end_line": 846, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 848, - "end_line": 848, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "FutureBox", - "full_name": "", - "start_line": 855, - "end_line": 886, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "to_string_box", - "full_name": "", - "start_line": 856, - "end_line": 868, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 857, - "end_line": 857, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 858, - "end_line": 867, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 859, - "end_line": 859, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 860, - "end_line": 864, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "equals", - "full_name": "", - "start_line": 870, - "end_line": 876, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 871, - "end_line": 875, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "type_name", - "full_name": "", - "start_line": 878, - "end_line": 880, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "clone_box", - "full_name": "", - "start_line": 882, - "end_line": 884, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "FutureBox", - "full_name": "", - "start_line": 888, - "end_line": 908, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "box_id", - "full_name": "", - "start_line": 889, - "end_line": 891, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parent_type_id", - "full_name": "", - "start_line": 893, - "end_line": 895, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt_box", - "full_name": "", - "start_line": 897, - "end_line": 899, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "as_any", - "full_name": "", - "start_line": 901, - "end_line": 903, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "as_any_mut", - "full_name": "", - "start_line": 905, - "end_line": 907, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "FutureBox", - "full_name": "", - "start_line": 910, - "end_line": 914, + "end_line": 841, "start_column": 0, "end_column": 0, "depth": 1, @@ -61525,64 +89241,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 911, - "end_line": 913, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "AddBox", - "full_name": "", - "start_line": 919, - "end_line": 923, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "AddBox", - "full_name": "", - "start_line": 925, - "end_line": 975, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "new", - "full_name": "", - "start_line": 926, - "end_line": 932, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute", - "full_name": "", - "start_line": 935, - "end_line": 974, + "start_line": 838, + "end_line": 840, "start_column": 0, "end_column": 0, "depth": 3, @@ -61595,106 +89255,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 936, - "end_line": 936, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 939, - "end_line": 944, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 947, - "end_line": 952, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 955, - "end_line": 960, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 963, - "end_line": 968, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 971, - "end_line": 971, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 972, - "end_line": 972, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "AddBox", - "full_name": "", - "start_line": 977, - "end_line": 985, + "start_line": 847, + "end_line": 847, "start_column": 0, "end_column": 0, "depth": 1, @@ -61703,1062 +89265,12 @@ "attributes": {}, "source_text": null }, - { - "type": "function", - "name": "fmt", - "full_name": "", - "start_line": 978, - "end_line": 984, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "AddBox", - "full_name": "", - "start_line": 987, - "end_line": 1014, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "to_string_box", - "full_name": "", - "start_line": 988, - "end_line": 991, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 989, - "end_line": 989, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "equals", - "full_name": "", - "start_line": 993, - "end_line": 1001, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 994, - "end_line": 1000, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 995, - "end_line": 995, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 996, - "end_line": 996, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "type_name", - "full_name": "", - "start_line": 1003, - "end_line": 1005, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "clone_box", - "full_name": "", - "start_line": 1007, - "end_line": 1012, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "AddBox", - "full_name": "", - "start_line": 1016, - "end_line": 1036, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "box_id", - "full_name": "", - "start_line": 1017, - "end_line": 1019, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parent_type_id", - "full_name": "", - "start_line": 1021, - "end_line": 1023, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt_box", - "full_name": "", - "start_line": 1025, - "end_line": 1027, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "as_any", - "full_name": "", - "start_line": 1029, - "end_line": 1031, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "as_any_mut", - "full_name": "", - "start_line": 1033, - "end_line": 1035, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "AddBox", - "full_name": "", - "start_line": 1038, - "end_line": 1042, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "fmt", - "full_name": "", - "start_line": 1039, - "end_line": 1041, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "SubtractBox", - "full_name": "", - "start_line": 1047, - "end_line": 1050, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "SubtractBox", - "full_name": "", - "start_line": 1052, - "end_line": 1095, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "new", - "full_name": "", - "start_line": 1053, - "end_line": 1055, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute", - "full_name": "", - "start_line": 1057, - "end_line": 1094, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "import", "name": "", "full_name": "", - "start_line": 1058, - "end_line": 1058, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1061, - "end_line": 1066, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1069, - "end_line": 1074, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1077, - "end_line": 1082, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1085, - "end_line": 1090, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "MultiplyBox", - "full_name": "", - "start_line": 1098, - "end_line": 1101, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "MultiplyBox", - "full_name": "", - "start_line": 1103, - "end_line": 1146, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "new", - "full_name": "", - "start_line": 1104, - "end_line": 1106, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute", - "full_name": "", - "start_line": 1108, - "end_line": 1145, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 1109, - "end_line": 1109, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1112, - "end_line": 1117, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1120, - "end_line": 1125, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1128, - "end_line": 1133, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1136, - "end_line": 1141, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "DivideBox", - "full_name": "", - "start_line": 1149, - "end_line": 1152, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "DivideBox", - "full_name": "", - "start_line": 1154, - "end_line": 1213, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "new", - "full_name": "", - "start_line": 1155, - "end_line": 1157, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute", - "full_name": "", - "start_line": 1159, - "end_line": 1212, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 1160, - "end_line": 1160, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1163, - "end_line": 1172, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1167, - "end_line": 1170, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1175, - "end_line": 1184, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1179, - "end_line": 1182, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1187, - "end_line": 1196, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1191, - "end_line": 1194, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1199, - "end_line": 1208, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1203, - "end_line": 1206, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "CompareBox", - "full_name": "", - "start_line": 1216, - "end_line": 1216, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "CompareBox", - "full_name": "", - "start_line": 1218, - "end_line": 1370, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "less", - "full_name": "", - "start_line": 1219, - "end_line": 1255, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 1220, - "end_line": 1220, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1223, - "end_line": 1228, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1231, - "end_line": 1236, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1239, - "end_line": 1244, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1247, - "end_line": 1252, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "greater", - "full_name": "", - "start_line": 1257, - "end_line": 1293, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 1258, - "end_line": 1258, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1261, - "end_line": 1266, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1269, - "end_line": 1274, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1277, - "end_line": 1282, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1285, - "end_line": 1290, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "less_equal", - "full_name": "", - "start_line": 1295, - "end_line": 1331, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 1296, - "end_line": 1296, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1299, - "end_line": 1304, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1307, - "end_line": 1312, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1315, - "end_line": 1320, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1323, - "end_line": 1328, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "greater_equal", - "full_name": "", - "start_line": 1333, - "end_line": 1369, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 1334, - "end_line": 1334, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1337, - "end_line": 1342, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1345, - "end_line": 1350, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1353, - "end_line": 1358, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1361, - "end_line": 1366, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 1376, - "end_line": 1376, + "start_line": 851, + "end_line": 851, "start_column": 0, "end_column": 0, "depth": 3, @@ -62771,8 +89283,8 @@ "type": "function", "name": "test_string_box_creation", "full_name": "", - "start_line": 1379, - "end_line": 1384, + "start_line": 854, + "end_line": 859, "start_column": 0, "end_column": 0, "depth": 3, @@ -62785,8 +89297,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1380, - "end_line": 1380, + "start_line": 855, + "end_line": 855, "start_column": 0, "end_column": 0, "depth": 5, @@ -62799,8 +89311,8 @@ "type": "function", "name": "test_integer_box_creation", "full_name": "", - "start_line": 1387, - "end_line": 1392, + "start_line": 862, + "end_line": 867, "start_column": 0, "end_column": 0, "depth": 3, @@ -62813,8 +89325,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1388, - "end_line": 1388, + "start_line": 863, + "end_line": 863, "start_column": 0, "end_column": 0, "depth": 5, @@ -62827,8 +89339,8 @@ "type": "function", "name": "test_bool_box_creation", "full_name": "", - "start_line": 1395, - "end_line": 1400, + "start_line": 870, + "end_line": 875, "start_column": 0, "end_column": 0, "depth": 3, @@ -62841,8 +89353,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1396, - "end_line": 1396, + "start_line": 871, + "end_line": 871, "start_column": 0, "end_column": 0, "depth": 5, @@ -62855,8 +89367,8 @@ "type": "function", "name": "test_box_equality", "full_name": "", - "start_line": 1403, - "end_line": 1410, + "start_line": 878, + "end_line": 885, "start_column": 0, "end_column": 0, "depth": 3, @@ -62869,8 +89381,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1404, - "end_line": 1404, + "start_line": 879, + "end_line": 879, "start_column": 0, "end_column": 0, "depth": 5, @@ -62883,8 +89395,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1405, - "end_line": 1405, + "start_line": 880, + "end_line": 880, "start_column": 0, "end_column": 0, "depth": 5, @@ -62897,8 +89409,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1406, - "end_line": 1406, + "start_line": 881, + "end_line": 881, "start_column": 0, "end_column": 0, "depth": 5, @@ -62911,8 +89423,8 @@ "type": "function", "name": "test_add_box_integers", "full_name": "", - "start_line": 1413, - "end_line": 1421, + "start_line": 888, + "end_line": 896, "start_column": 0, "end_column": 0, "depth": 3, @@ -62925,8 +89437,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1414, - "end_line": 1414, + "start_line": 889, + "end_line": 889, "start_column": 0, "end_column": 0, "depth": 5, @@ -62939,8 +89451,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1415, - "end_line": 1415, + "start_line": 890, + "end_line": 890, "start_column": 0, "end_column": 0, "depth": 5, @@ -62953,8 +89465,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1416, - "end_line": 1416, + "start_line": 891, + "end_line": 891, "start_column": 0, "end_column": 0, "depth": 5, @@ -62967,8 +89479,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1418, - "end_line": 1418, + "start_line": 893, + "end_line": 893, "start_column": 0, "end_column": 0, "depth": 5, @@ -62981,8 +89493,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1419, - "end_line": 1419, + "start_line": 894, + "end_line": 894, "start_column": 0, "end_column": 0, "depth": 5, @@ -62995,8 +89507,8 @@ "type": "function", "name": "test_add_box_strings", "full_name": "", - "start_line": 1424, - "end_line": 1432, + "start_line": 899, + "end_line": 907, "start_column": 0, "end_column": 0, "depth": 3, @@ -63009,8 +89521,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1425, - "end_line": 1425, + "start_line": 900, + "end_line": 900, "start_column": 0, "end_column": 0, "depth": 5, @@ -63023,8 +89535,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1426, - "end_line": 1426, + "start_line": 901, + "end_line": 901, "start_column": 0, "end_column": 0, "depth": 5, @@ -63037,8 +89549,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1427, - "end_line": 1427, + "start_line": 902, + "end_line": 902, "start_column": 0, "end_column": 0, "depth": 5, @@ -63051,8 +89563,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1429, - "end_line": 1429, + "start_line": 904, + "end_line": 904, "start_column": 0, "end_column": 0, "depth": 5, @@ -63065,8 +89577,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1430, - "end_line": 1430, + "start_line": 905, + "end_line": 905, "start_column": 0, "end_column": 0, "depth": 5, @@ -63079,8 +89591,8 @@ "type": "function", "name": "test_box_ids_unique", "full_name": "", - "start_line": 1435, - "end_line": 1441, + "start_line": 910, + "end_line": 916, "start_column": 0, "end_column": 0, "depth": 3, @@ -63093,8 +89605,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1436, - "end_line": 1436, + "start_line": 911, + "end_line": 911, "start_column": 0, "end_column": 0, "depth": 5, @@ -63107,8 +89619,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1437, - "end_line": 1437, + "start_line": 912, + "end_line": 912, "start_column": 0, "end_column": 0, "depth": 5, @@ -63121,8 +89633,8 @@ "type": "function", "name": "test_void_box", "full_name": "", - "start_line": 1444, - "end_line": 1448, + "start_line": 919, + "end_line": 923, "start_column": 0, "end_column": 0, "depth": 3, @@ -63135,8 +89647,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1445, - "end_line": 1445, + "start_line": 920, + "end_line": 920, "start_column": 0, "end_column": 0, "depth": 5, @@ -63150,36 +89662,35 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 327, + "total_nodes": 216, "max_depth": 10, "node_type_counts": { "file_root": 1, - "for_loop": 2, - "class": 60, - "import": 16, - "function": 154, - "if_statement": 58, - "variable": 36 + "import": 9, + "function": 124, + "class": 40, + "if_statement": 17, + "variable": 25 }, - "classes": 60, - "functions": 154, + "classes": 40, + "functions": 124, "methods": 0, - "variables": 36, - "control_structures": 60 + "variables": 25, + "control_structures": 17 }, - "generated_at": "2025-08-13T11:36:21.756275442Z" + "generated_at": "2025-08-15T16:17:53.927753217Z" }, { "file_info": { "name": "channel_box.rs", "path": "src/channel_box.rs", "size_bytes": 0, - "total_lines": 246, - "code_lines": 179, - "comment_lines": 24, - "empty_lines": 43, - "code_ratio": 0.7276422764227642, - "analyzed_at": "2025-08-13T11:36:21.748404642Z", + "total_lines": 252, + "code_lines": 185, + "comment_lines": 26, + "empty_lines": 41, + "code_ratio": 0.7341269841269841, + "analyzed_at": "2025-08-15T16:17:53.929827314Z", "metadata": {} }, "language": "rust", @@ -63193,8 +89704,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -63213,46 +89724,46 @@ "name": "ChannelBox", "parent_class": null, "start_line": 110, - "end_line": 135, + "end_line": 138, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "ChannelBox", "parent_class": null, - "start_line": 137, - "end_line": 157, + "start_line": 140, + "end_line": 160, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" + "implementing_trait": "BoxCore", + "type": "impl" } }, { "name": "ChannelBox", "parent_class": null, - "start_line": 159, - "end_line": 163, + "start_line": 162, + "end_line": 166, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "Display" + "implementing_trait": "Display", + "type": "impl" } }, { "name": "ChannelBox", "parent_class": null, - "start_line": 165, - "end_line": 173, + "start_line": 168, + "end_line": 176, "methods": [], "properties": [], "member_variables": [], @@ -63264,21 +89775,21 @@ { "name": "MessageBox", "parent_class": null, - "start_line": 177, - "end_line": 181, + "start_line": 180, + "end_line": 184, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { "name": "MessageBox", "parent_class": null, - "start_line": 183, - "end_line": 191, + "start_line": 186, + "end_line": 194, "methods": [], "properties": [], "member_variables": [], @@ -63289,8 +89800,8 @@ { "name": "MessageBox", "parent_class": null, - "start_line": 193, - "end_line": 218, + "start_line": 196, + "end_line": 224, "methods": [], "properties": [], "member_variables": [], @@ -63302,8 +89813,8 @@ { "name": "MessageBox", "parent_class": null, - "start_line": 220, - "end_line": 240, + "start_line": 226, + "end_line": 246, "methods": [], "properties": [], "member_variables": [], @@ -63315,14 +89826,14 @@ { "name": "MessageBox", "parent_class": null, - "start_line": 242, - "end_line": 246, + "start_line": 248, + "end_line": 252, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Display", - "type": "impl" + "type": "impl", + "implementing_trait": "Display" } } ], @@ -63391,8 +89902,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -63492,8 +90003,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -63578,10 +90089,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 124, + "end_line": 126, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "equals", - "start_line": 123, - "end_line": 132, + "start_line": 128, + "end_line": 137, "parameters": [ "&self", "other: &dyn NyashBox" @@ -63601,8 +90132,8 @@ }, { "name": "box_id", - "start_line": 138, - "end_line": 140, + "start_line": 141, + "end_line": 143, "parameters": [ "&self" ], @@ -63621,8 +90152,8 @@ }, { "name": "parent_type_id", - "start_line": 142, - "end_line": 144, + "start_line": 145, + "end_line": 147, "parameters": [ "&self" ], @@ -63641,8 +90172,8 @@ }, { "name": "fmt_box", - "start_line": 146, - "end_line": 148, + "start_line": 149, + "end_line": 151, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -63662,8 +90193,8 @@ }, { "name": "as_any", - "start_line": 150, - "end_line": 152, + "start_line": 153, + "end_line": 155, "parameters": [ "&self" ], @@ -63682,8 +90213,8 @@ }, { "name": "as_any_mut", - "start_line": 154, - "end_line": 156, + "start_line": 157, + "end_line": 159, "parameters": [ "&mut self" ], @@ -63702,8 +90233,8 @@ }, { "name": "fmt", - "start_line": 160, - "end_line": 162, + "start_line": 163, + "end_line": 165, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -63723,8 +90254,8 @@ }, { "name": "fmt", - "start_line": 166, - "end_line": 172, + "start_line": 169, + "end_line": 175, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -63744,8 +90275,8 @@ }, { "name": "new", - "start_line": 184, - "end_line": 190, + "start_line": 187, + "end_line": 193, "parameters": [ "sender: &str", "content: &str" @@ -63760,14 +90291,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "type_name", - "start_line": 194, - "end_line": 196, + "start_line": 197, + "end_line": 199, "parameters": [ "&self" ], @@ -63786,8 +90317,8 @@ }, { "name": "to_string_box", - "start_line": 198, - "end_line": 200, + "start_line": 201, + "end_line": 203, "parameters": [ "&self" ], @@ -63806,8 +90337,28 @@ }, { "name": "clone_box", - "start_line": 202, - "end_line": 204, + "start_line": 205, + "end_line": 207, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 210, + "end_line": 212, "parameters": [ "&self" ], @@ -63826,8 +90377,8 @@ }, { "name": "equals", - "start_line": 206, - "end_line": 215, + "start_line": 214, + "end_line": 223, "parameters": [ "&self", "other: &dyn NyashBox" @@ -63847,8 +90398,8 @@ }, { "name": "box_id", - "start_line": 221, - "end_line": 223, + "start_line": 227, + "end_line": 229, "parameters": [ "&self" ], @@ -63867,8 +90418,8 @@ }, { "name": "parent_type_id", - "start_line": 225, - "end_line": 227, + "start_line": 231, + "end_line": 233, "parameters": [ "&self" ], @@ -63887,8 +90438,8 @@ }, { "name": "fmt_box", - "start_line": 229, - "end_line": 231, + "start_line": 235, + "end_line": 237, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -63908,8 +90459,8 @@ }, { "name": "as_any", - "start_line": 233, - "end_line": 235, + "start_line": 239, + "end_line": 241, "parameters": [ "&self" ], @@ -63928,8 +90479,8 @@ }, { "name": "as_any_mut", - "start_line": 237, - "end_line": 239, + "start_line": 243, + "end_line": 245, "parameters": [ "&mut self" ], @@ -63948,8 +90499,8 @@ }, { "name": "fmt", - "start_line": 243, - "end_line": 245, + "start_line": 249, + "end_line": 251, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -64024,7 +90575,7 @@ "metadata": {}, "stats": { "class_count": 11, - "function_count": 31, + "function_count": 33, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -64355,7 +90906,7 @@ "name": "ChannelBox", "full_name": "", "start_line": 110, - "end_line": 135, + "end_line": 138, "start_column": 0, "end_column": 0, "depth": 1, @@ -64406,12 +90957,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 124, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "equals", "full_name": "", - "start_line": 123, - "end_line": 132, + "start_line": 128, + "end_line": 137, "start_column": 0, "end_column": 0, "depth": 3, @@ -64424,8 +90989,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 124, - "end_line": 131, + "start_line": 129, + "end_line": 136, "start_column": 0, "end_column": 0, "depth": 6, @@ -64438,8 +91003,8 @@ "type": "class", "name": "ChannelBox", "full_name": "", - "start_line": 137, - "end_line": 157, + "start_line": 140, + "end_line": 160, "start_column": 0, "end_column": 0, "depth": 1, @@ -64452,8 +91017,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 138, - "end_line": 140, + "start_line": 141, + "end_line": 143, "start_column": 0, "end_column": 0, "depth": 3, @@ -64466,8 +91031,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 142, - "end_line": 144, + "start_line": 145, + "end_line": 147, "start_column": 0, "end_column": 0, "depth": 3, @@ -64480,8 +91045,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 146, - "end_line": 148, + "start_line": 149, + "end_line": 151, "start_column": 0, "end_column": 0, "depth": 3, @@ -64494,8 +91059,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 150, - "end_line": 152, + "start_line": 153, + "end_line": 155, "start_column": 0, "end_column": 0, "depth": 3, @@ -64508,8 +91073,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 154, - "end_line": 156, + "start_line": 157, + "end_line": 159, "start_column": 0, "end_column": 0, "depth": 3, @@ -64522,8 +91087,8 @@ "type": "class", "name": "ChannelBox", "full_name": "", - "start_line": 159, - "end_line": 163, + "start_line": 162, + "end_line": 166, "start_column": 0, "end_column": 0, "depth": 1, @@ -64536,8 +91101,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 160, - "end_line": 162, + "start_line": 163, + "end_line": 165, "start_column": 0, "end_column": 0, "depth": 3, @@ -64550,8 +91115,8 @@ "type": "class", "name": "ChannelBox", "full_name": "", - "start_line": 165, - "end_line": 173, + "start_line": 168, + "end_line": 176, "start_column": 0, "end_column": 0, "depth": 1, @@ -64564,8 +91129,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 166, - "end_line": 172, + "start_line": 169, + "end_line": 175, "start_column": 0, "end_column": 0, "depth": 3, @@ -64578,8 +91143,8 @@ "type": "class", "name": "MessageBox", "full_name": "", - "start_line": 177, - "end_line": 181, + "start_line": 180, + "end_line": 184, "start_column": 0, "end_column": 0, "depth": 1, @@ -64592,8 +91157,8 @@ "type": "class", "name": "MessageBox", "full_name": "", - "start_line": 183, - "end_line": 191, + "start_line": 186, + "end_line": 194, "start_column": 0, "end_column": 0, "depth": 1, @@ -64606,8 +91171,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 184, - "end_line": 190, + "start_line": 187, + "end_line": 193, "start_column": 0, "end_column": 0, "depth": 3, @@ -64620,8 +91185,8 @@ "type": "class", "name": "MessageBox", "full_name": "", - "start_line": 193, - "end_line": 218, + "start_line": 196, + "end_line": 224, "start_column": 0, "end_column": 0, "depth": 1, @@ -64634,8 +91199,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 194, - "end_line": 196, + "start_line": 197, + "end_line": 199, "start_column": 0, "end_column": 0, "depth": 3, @@ -64648,8 +91213,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 198, - "end_line": 200, + "start_line": 201, + "end_line": 203, "start_column": 0, "end_column": 0, "depth": 3, @@ -64662,8 +91227,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 202, - "end_line": 204, + "start_line": 205, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 210, + "end_line": 212, "start_column": 0, "end_column": 0, "depth": 3, @@ -64676,8 +91255,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 206, - "end_line": 215, + "start_line": 214, + "end_line": 223, "start_column": 0, "end_column": 0, "depth": 3, @@ -64690,8 +91269,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 207, - "end_line": 214, + "start_line": 215, + "end_line": 222, "start_column": 0, "end_column": 0, "depth": 6, @@ -64704,8 +91283,8 @@ "type": "class", "name": "MessageBox", "full_name": "", - "start_line": 220, - "end_line": 240, + "start_line": 226, + "end_line": 246, "start_column": 0, "end_column": 0, "depth": 1, @@ -64718,8 +91297,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 221, - "end_line": 223, + "start_line": 227, + "end_line": 229, "start_column": 0, "end_column": 0, "depth": 3, @@ -64732,8 +91311,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 225, - "end_line": 227, + "start_line": 231, + "end_line": 233, "start_column": 0, "end_column": 0, "depth": 3, @@ -64746,8 +91325,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 229, - "end_line": 231, + "start_line": 235, + "end_line": 237, "start_column": 0, "end_column": 0, "depth": 3, @@ -64760,8 +91339,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 233, - "end_line": 235, + "start_line": 239, + "end_line": 241, "start_column": 0, "end_column": 0, "depth": 3, @@ -64774,8 +91353,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 237, - "end_line": 239, + "start_line": 243, + "end_line": 245, "start_column": 0, "end_column": 0, "depth": 3, @@ -64788,8 +91367,8 @@ "type": "class", "name": "MessageBox", "full_name": "", - "start_line": 242, - "end_line": 246, + "start_line": 248, + "end_line": 252, "start_column": 0, "end_column": 0, "depth": 1, @@ -64802,8 +91381,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 243, - "end_line": 245, + "start_line": 249, + "end_line": 251, "start_column": 0, "end_column": 0, "depth": 3, @@ -64817,24 +91396,435 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 56, + "total_nodes": 58, "max_depth": 9, "node_type_counts": { - "function": 29, - "variable": 4, - "file_root": 1, "for_loop": 1, "import": 5, + "class": 11, "if_statement": 5, - "class": 11 + "file_root": 1, + "function": 31, + "variable": 4 }, "classes": 11, - "functions": 29, + "functions": 31, "methods": 0, "variables": 4, "control_structures": 6 }, - "generated_at": "2025-08-13T11:36:21.748434142Z" + "generated_at": "2025-08-15T16:17:53.929839842Z" + }, + { + "file_info": { + "name": "cli.rs", + "path": "src/cli.rs", + "size_bytes": 0, + "total_lines": 176, + "code_lines": 153, + "comment_lines": 13, + "empty_lines": 10, + "code_ratio": 0.8693181818181818, + "analyzed_at": "2025-08-15T16:17:53.927631852Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "CliConfig", + "parent_class": null, + "start_line": 12, + "end_line": 24, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "CliConfig", + "parent_class": null, + "start_line": 26, + "end_line": 133, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "parse", + "start_line": 28, + "end_line": 31, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "build_command", + "start_line": 34, + "end_line": 115, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "from_matches", + "start_line": 118, + "end_line": 132, + "parameters": [ + "matches: &ArgMatches" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_debug_fuel", + "start_line": 136, + "end_line": 142, + "parameters": [ + "value: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_parse_debug_fuel", + "start_line": 149, + "end_line": 153, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_default_config", + "start_line": 156, + "end_line": 175, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "clap::{Arg, Command, ArgMatches}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 146, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 2, + "function_count": 6, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CliConfig", + "full_name": "", + "start_line": 12, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CliConfig", + "full_name": "", + "start_line": 26, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse", + "full_name": "", + "start_line": 28, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "build_command", + "full_name": "", + "start_line": 34, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_matches", + "full_name": "", + "start_line": 118, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_debug_fuel", + "full_name": "", + "start_line": 136, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_parse_debug_fuel", + "full_name": "", + "start_line": 149, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_default_config", + "full_name": "", + "start_line": 156, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 159, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 14, + "max_depth": 5, + "node_type_counts": { + "variable": 2, + "if_statement": 1, + "file_root": 1, + "function": 6, + "import": 2, + "class": 2 + }, + "classes": 2, + "functions": 6, + "methods": 0, + "variables": 2, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:17:53.927640896Z" }, { "file_info": { @@ -64846,7 +91836,7 @@ "comment_lines": 58, "empty_lines": 68, "code_ratio": 0.649025069637883, - "analyzed_at": "2025-08-13T11:36:21.758211282Z", + "analyzed_at": "2025-08-15T16:17:53.929935542Z", "metadata": {} }, "language": "rust", @@ -64898,8 +91888,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -64953,8 +91943,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -64976,8 +91966,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -64998,8 +91988,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -65021,8 +92011,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -65043,8 +92033,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -65065,8 +92055,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -65086,8 +92076,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -65192,8 +92182,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -65277,8 +92267,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -65338,8 +92328,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -66646,12 +93636,12 @@ "max_depth": 6, "node_type_counts": { "variable": 32, + "if_statement": 6, + "for_loop": 1, + "file_root": 1, "class": 5, "import": 7, - "file_root": 1, - "if_statement": 6, - "function": 26, - "for_loop": 1 + "function": 26 }, "classes": 5, "functions": 26, @@ -66659,19 +93649,19 @@ "variables": 32, "control_structures": 7 }, - "generated_at": "2025-08-13T11:36:21.758236331Z" + "generated_at": "2025-08-15T16:17:53.929956920Z" }, { "file_info": { "name": "exception_box.rs", "path": "src/exception_box.rs", "size_bytes": 0, - "total_lines": 116, - "code_lines": 87, - "comment_lines": 9, + "total_lines": 120, + "code_lines": 90, + "comment_lines": 10, "empty_lines": 20, "code_ratio": 0.75, - "analyzed_at": "2025-08-13T11:36:21.756193795Z", + "analyzed_at": "2025-08-15T16:17:53.929906538Z", "metadata": {} }, "language": "rust", @@ -66685,8 +93675,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { @@ -66705,39 +93695,39 @@ "name": "ErrorBox", "parent_class": null, "start_line": 52, - "end_line": 74, + "end_line": 78, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" + "implementing_trait": "NyashBox", + "type": "impl" } }, { "name": "ErrorBox", "parent_class": null, - "start_line": 76, - "end_line": 96, + "start_line": 80, + "end_line": 100, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" + "implementing_trait": "BoxCore", + "type": "impl" } }, { "name": "ErrorBox", "parent_class": null, - "start_line": 98, - "end_line": 102, + "start_line": 102, + "end_line": 106, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "std::fmt::Display" + "implementing_trait": "std::fmt::Display", + "type": "impl" } } ], @@ -66759,8 +93749,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -66781,8 +93771,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -66910,9 +93900,9 @@ } }, { - "name": "box_id", - "start_line": 77, - "end_line": 79, + "name": "share_box", + "start_line": 75, + "end_line": 77, "parameters": [ "&self" ], @@ -66930,7 +93920,7 @@ } }, { - "name": "parent_type_id", + "name": "box_id", "start_line": 81, "end_line": 83, "parameters": [ @@ -66950,9 +93940,29 @@ } }, { - "name": "fmt_box", + "name": "parent_type_id", "start_line": 85, "end_line": 87, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 89, + "end_line": 91, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -66972,8 +93982,8 @@ }, { "name": "as_any", - "start_line": 89, - "end_line": 91, + "start_line": 93, + "end_line": 95, "parameters": [ "&self" ], @@ -66992,8 +94002,8 @@ }, { "name": "as_any_mut", - "start_line": 93, - "end_line": 95, + "start_line": 97, + "end_line": 99, "parameters": [ "&mut self" ], @@ -67012,8 +94022,8 @@ }, { "name": "fmt", - "start_line": 99, - "end_line": 101, + "start_line": 103, + "end_line": 105, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -67033,8 +94043,8 @@ }, { "name": "is_exception_type", - "start_line": 105, - "end_line": 110, + "start_line": 109, + "end_line": 114, "parameters": [ "exception: &dyn NyashBox", "type_name: &str" @@ -67055,8 +94065,8 @@ }, { "name": "create_exception", - "start_line": 113, - "end_line": 116, + "start_line": 117, + "end_line": 120, "parameters": [ "_type_name: &str", "message: &str", @@ -67117,7 +94127,7 @@ "metadata": {}, "stats": { "class_count": 5, - "function_count": 16, + "function_count": 17, "import_count": 3, "export_count": 0, "unique_calls": 0, @@ -67294,7 +94304,7 @@ "name": "ErrorBox", "full_name": "", "start_line": 52, - "end_line": 74, + "end_line": 78, "start_column": 0, "end_column": 0, "depth": 1, @@ -67373,12 +94383,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 75, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "ErrorBox", "full_name": "", - "start_line": 76, - "end_line": 96, + "start_line": 80, + "end_line": 100, "start_column": 0, "end_column": 0, "depth": 1, @@ -67391,20 +94415,6 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 77, - "end_line": 79, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parent_type_id", - "full_name": "", "start_line": 81, "end_line": 83, "start_column": 0, @@ -67417,7 +94427,7 @@ }, { "type": "function", - "name": "fmt_box", + "name": "parent_type_id", "full_name": "", "start_line": 85, "end_line": 87, @@ -67431,7 +94441,7 @@ }, { "type": "function", - "name": "as_any", + "name": "fmt_box", "full_name": "", "start_line": 89, "end_line": 91, @@ -67445,7 +94455,7 @@ }, { "type": "function", - "name": "as_any_mut", + "name": "as_any", "full_name": "", "start_line": 93, "end_line": 95, @@ -67457,12 +94467,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 97, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "ErrorBox", "full_name": "", - "start_line": 98, - "end_line": 102, + "start_line": 102, + "end_line": 106, "start_column": 0, "end_column": 0, "depth": 1, @@ -67475,8 +94499,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 99, - "end_line": 101, + "start_line": 103, + "end_line": 105, "start_column": 0, "end_column": 0, "depth": 3, @@ -67489,8 +94513,8 @@ "type": "function", "name": "is_exception_type", "full_name": "", - "start_line": 105, - "end_line": 110, + "start_line": 109, + "end_line": 114, "start_column": 0, "end_column": 0, "depth": 1, @@ -67503,8 +94527,8 @@ "type": "function", "name": "create_exception", "full_name": "", - "start_line": 113, - "end_line": 116, + "start_line": 117, + "end_line": 120, "start_column": 0, "end_column": 0, "depth": 1, @@ -67518,23 +94542,23 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 28, + "total_nodes": 29, "max_depth": 6, "node_type_counts": { + "function": 17, "variable": 1, - "file_root": 1, - "function": 16, "if_statement": 2, "import": 3, + "file_root": 1, "class": 5 }, "classes": 5, - "functions": 16, + "functions": 17, "methods": 0, "variables": 1, "control_structures": 2 }, - "generated_at": "2025-08-13T11:36:21.756200277Z" + "generated_at": "2025-08-15T16:17:53.929912313Z" }, { "file_info": { @@ -67546,7 +94570,7 @@ "comment_lines": 21, "empty_lines": 16, "code_ratio": 0.6666666666666666, - "analyzed_at": "2025-08-13T11:36:21.758729226Z", + "analyzed_at": "2025-08-15T16:17:53.929866287Z", "metadata": {} }, "language": "rust", @@ -67585,8 +94609,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Drop", - "type": "impl" + "type": "impl", + "implementing_trait": "Drop" } }, { @@ -67598,8 +94622,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "fmt::Debug", - "type": "impl" + "type": "impl", + "implementing_trait": "fmt::Debug" } } ], @@ -67642,8 +94666,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -67705,8 +94729,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -68258,13 +95282,13 @@ "total_nodes": 28, "max_depth": 14, "node_type_counts": { - "file_root": 1, - "variable": 4, - "import": 6, "for_loop": 1, - "function": 9, + "if_statement": 3, "class": 4, - "if_statement": 3 + "import": 6, + "function": 9, + "variable": 4, + "file_root": 1 }, "classes": 4, "functions": 9, @@ -68272,19 +95296,19 @@ "variables": 4, "control_structures": 4 }, - "generated_at": "2025-08-13T11:36:21.758736123Z" + "generated_at": "2025-08-15T16:17:53.929872417Z" }, { "file_info": { "name": "instance.rs", "path": "src/instance.rs", "size_bytes": 0, - "total_lines": 525, - "code_lines": 347, - "comment_lines": 99, - "empty_lines": 79, - "code_ratio": 0.660952380952381, - "analyzed_at": "2025-08-13T11:36:21.756188172Z", + "total_lines": 538, + "code_lines": 357, + "comment_lines": 101, + "empty_lines": 80, + "code_ratio": 0.6635687732342007, + "analyzed_at": "2025-08-15T16:17:53.929669081Z", "metadata": {} }, "language": "rust", @@ -68298,15 +95322,15 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { "name": "InstanceBox", "parent_class": null, "start_line": 49, - "end_line": 423, + "end_line": 433, "methods": [], "properties": [], "member_variables": [], @@ -68317,21 +95341,21 @@ { "name": "InstanceBox", "parent_class": null, - "start_line": 425, - "end_line": 449, + "start_line": 435, + "end_line": 462, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "NyashBox", - "type": "impl" + "type": "impl", + "implementing_trait": "NyashBox" } }, { "name": "InstanceBox", "parent_class": null, - "start_line": 451, - "end_line": 471, + "start_line": 464, + "end_line": 484, "methods": [], "properties": [], "member_variables": [], @@ -68343,14 +95367,14 @@ { "name": "InstanceBox", "parent_class": null, - "start_line": 473, - "end_line": 477, + "start_line": 486, + "end_line": 490, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Display", - "type": "impl" + "type": "impl", + "implementing_trait": "Display" } } ], @@ -68374,8 +95398,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -68399,8 +95423,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -68421,8 +95445,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -68490,8 +95514,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -68513,8 +95537,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -68556,14 +95580,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "get_field", "start_line": 273, - "end_line": 275, + "end_line": 278, "parameters": [ "&self", "field_name: &str" @@ -68577,60 +95601,19 @@ "rating": "simple", "rating_emoji": "🟢" }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "closure", - "start_line": 274, - "end_line": 274, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "set_field", - "start_line": 278, - "end_line": 286, - "parameters": [ - "&self", - "field_name: &str", - "value" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, "metadata": { "modifiers": "pub", "type": "function" } }, { - "name": "set_field_dynamic", - "start_line": 289, - "end_line": 292, + "name": "set_field", + "start_line": 281, + "end_line": 296, "parameters": [ - "&mut self", - "field_name: String", - "value" + "&self", + "field_name: &str", + "value: SharedNyashBox" ], "is_async": false, "is_arrow_function": false, @@ -68646,10 +95629,33 @@ "modifiers": "pub" } }, + { + "name": "set_field_dynamic", + "start_line": 299, + "end_line": 302, + "parameters": [ + "&mut self", + "field_name: String", + "value: SharedNyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, { "name": "get_method", - "start_line": 295, - "end_line": 297, + "start_line": 305, + "end_line": 307, "parameters": [ "&self", "method_name: &str" @@ -68664,14 +95670,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "has_method", - "start_line": 300, - "end_line": 302, + "start_line": 310, + "end_line": 312, "parameters": [ "&self", "method_name: &str" @@ -68686,14 +95692,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "add_method", - "start_line": 305, - "end_line": 334, + "start_line": 315, + "end_line": 344, "parameters": [ "&mut self", "method_name: String", @@ -68715,8 +95721,8 @@ }, { "name": "fini", - "start_line": 337, - "end_line": 370, + "start_line": 347, + "end_line": 380, "parameters": [ "&self" ], @@ -68736,8 +95742,8 @@ }, { "name": "cascade_finalize_fields", - "start_line": 373, - "end_line": 407, + "start_line": 383, + "end_line": 417, "parameters": [ "&self" ], @@ -68756,8 +95762,8 @@ }, { "name": "is_finalized", - "start_line": 410, - "end_line": 412, + "start_line": 420, + "end_line": 422, "parameters": [ "&self" ], @@ -68777,8 +95783,8 @@ }, { "name": "is_in_finalization", - "start_line": 415, - "end_line": 417, + "start_line": 425, + "end_line": 427, "parameters": [ "&self" ], @@ -68798,8 +95804,8 @@ }, { "name": "is_weak_field", - "start_line": 420, - "end_line": 422, + "start_line": 430, + "end_line": 432, "parameters": [ "&self", "field_name: &str" @@ -68814,14 +95820,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "to_string_box", - "start_line": 426, - "end_line": 428, + "start_line": 436, + "end_line": 438, "parameters": [ "&self" ], @@ -68840,8 +95846,8 @@ }, { "name": "equals", - "start_line": 430, - "end_line": 437, + "start_line": 440, + "end_line": 447, "parameters": [ "&self", "other: &dyn NyashBox" @@ -68861,8 +95867,8 @@ }, { "name": "type_name", - "start_line": 439, - "end_line": 441, + "start_line": 449, + "end_line": 451, "parameters": [ "&self" ], @@ -68881,8 +95887,28 @@ }, { "name": "clone_box", - "start_line": 443, - "end_line": 446, + "start_line": 453, + "end_line": 456, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 459, + "end_line": 461, "parameters": [ "&self" ], @@ -68901,8 +95927,8 @@ }, { "name": "box_id", - "start_line": 452, - "end_line": 454, + "start_line": 465, + "end_line": 467, "parameters": [ "&self" ], @@ -68921,8 +95947,8 @@ }, { "name": "parent_type_id", - "start_line": 456, - "end_line": 458, + "start_line": 469, + "end_line": 471, "parameters": [ "&self" ], @@ -68941,8 +95967,8 @@ }, { "name": "fmt_box", - "start_line": 460, - "end_line": 462, + "start_line": 473, + "end_line": 475, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -68962,8 +95988,8 @@ }, { "name": "as_any", - "start_line": 464, - "end_line": 466, + "start_line": 477, + "end_line": 479, "parameters": [ "&self" ], @@ -68982,8 +96008,8 @@ }, { "name": "as_any_mut", - "start_line": 468, - "end_line": 470, + "start_line": 481, + "end_line": 483, "parameters": [ "&mut self" ], @@ -69002,8 +96028,8 @@ }, { "name": "fmt", - "start_line": 474, - "end_line": 476, + "start_line": 487, + "end_line": 489, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -69023,8 +96049,8 @@ }, { "name": "test_instance_creation", - "start_line": 487, - "end_line": 496, + "start_line": 500, + "end_line": 509, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -69041,8 +96067,8 @@ }, { "name": "test_field_access", - "start_line": 499, - "end_line": 512, + "start_line": 512, + "end_line": 525, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -69059,8 +96085,8 @@ }, { "name": "test_instance_equality", - "start_line": 515, - "end_line": 524, + "start_line": 528, + "end_line": 537, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -69079,7 +96105,7 @@ "imports": [ { "type": "rust_use", - "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, VoidBox, BoxCore, BoxBase}", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, VoidBox, BoxCore, BoxBase, SharedNyashBox}", "imported_names": [], "alias": null, "line_number": 8, @@ -69154,7 +96180,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 483, + "line_number": 496, "metadata": {} }, { @@ -69162,7 +96188,7 @@ "module_path": "crate::box_trait::IntegerBox", "imported_names": [], "alias": null, - "line_number": 484, + "line_number": 497, "metadata": {} } ], @@ -69329,7 +96355,7 @@ "name": "InstanceBox", "full_name": "", "start_line": 49, - "end_line": 423, + "end_line": 433, "start_column": 0, "end_column": 0, "depth": 1, @@ -69354,7 +96380,7 @@ }, { "type": "variable", - "name": "", + "name": "HashMap", "full_name": "", "start_line": 52, "end_line": 52, @@ -69931,7 +96957,7 @@ "name": "get_field", "full_name": "", "start_line": 273, - "end_line": 275, + "end_line": 278, "start_column": 0, "end_column": 0, "depth": 3, @@ -69944,8 +96970,8 @@ "type": "function", "name": "set_field", "full_name": "", - "start_line": 278, - "end_line": 286, + "start_line": 281, + "end_line": 296, "start_column": 0, "end_column": 0, "depth": 3, @@ -69958,8 +96984,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 279, - "end_line": 279, + "start_line": 285, + "end_line": 285, "start_column": 0, "end_column": 0, "depth": 5, @@ -69972,8 +96998,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 280, - "end_line": 285, + "start_line": 286, + "end_line": 295, "start_column": 0, "end_column": 0, "depth": 6, @@ -69982,12 +97008,26 @@ "attributes": {}, "source_text": null }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 287, + "end_line": 290, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "set_field_dynamic", "full_name": "", - "start_line": 289, - "end_line": 292, + "start_line": 299, + "end_line": 302, "start_column": 0, "end_column": 0, "depth": 3, @@ -70000,8 +97040,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 290, - "end_line": 290, + "start_line": 300, + "end_line": 300, "start_column": 0, "end_column": 0, "depth": 5, @@ -70014,8 +97054,8 @@ "type": "function", "name": "get_method", "full_name": "", - "start_line": 295, - "end_line": 297, + "start_line": 305, + "end_line": 307, "start_column": 0, "end_column": 0, "depth": 3, @@ -70028,8 +97068,8 @@ "type": "function", "name": "has_method", "full_name": "", - "start_line": 300, - "end_line": 302, + "start_line": 310, + "end_line": 312, "start_column": 0, "end_column": 0, "depth": 3, @@ -70042,8 +97082,8 @@ "type": "function", "name": "add_method", "full_name": "", - "start_line": 305, - "end_line": 334, + "start_line": 315, + "end_line": 344, "start_column": 0, "end_column": 0, "depth": 3, @@ -70056,8 +97096,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 307, - "end_line": 307, + "start_line": 317, + "end_line": 317, "start_column": 0, "end_column": 0, "depth": 5, @@ -70070,8 +97110,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 310, - "end_line": 329, + "start_line": 320, + "end_line": 339, "start_column": 0, "end_column": 0, "depth": 6, @@ -70084,8 +97124,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 312, - "end_line": 315, + "start_line": 322, + "end_line": 325, "start_column": 0, "end_column": 0, "depth": 8, @@ -70098,8 +97138,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 317, - "end_line": 325, + "start_line": 327, + "end_line": 335, "start_column": 0, "end_column": 0, "depth": 9, @@ -70112,8 +97152,8 @@ "type": "function", "name": "fini", "full_name": "", - "start_line": 337, - "end_line": 370, + "start_line": 347, + "end_line": 380, "start_column": 0, "end_column": 0, "depth": 3, @@ -70126,52 +97166,24 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 339, - "end_line": 339, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 340, - "end_line": 343, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 346, - "end_line": 346, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 347, + "start_line": 349, "end_line": 349, "start_column": 0, "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 350, + "end_line": 353, + "start_column": 0, + "end_column": 0, "depth": 6, "scope_path": "", "children": [], @@ -70182,8 +97194,36 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 360, - "end_line": 360, + "start_line": 356, + "end_line": 356, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 359, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 370, + "end_line": 370, "start_column": 0, "end_column": 0, "depth": 5, @@ -70196,8 +97236,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 362, - "end_line": 362, + "start_line": 372, + "end_line": 372, "start_column": 0, "end_column": 0, "depth": 5, @@ -70210,8 +97250,8 @@ "type": "function", "name": "cascade_finalize_fields", "full_name": "", - "start_line": 373, - "end_line": 407, + "start_line": 383, + "end_line": 417, "start_column": 0, "end_column": 0, "depth": 3, @@ -70224,8 +97264,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 374, - "end_line": 374, + "start_line": 384, + "end_line": 384, "start_column": 0, "end_column": 0, "depth": 5, @@ -70238,8 +97278,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 377, - "end_line": 404, + "start_line": 387, + "end_line": 414, "start_column": 0, "end_column": 0, "depth": 6, @@ -70252,8 +97292,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 379, - "end_line": 382, + "start_line": 389, + "end_line": 392, "start_column": 0, "end_column": 0, "depth": 9, @@ -70266,8 +97306,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 385, - "end_line": 403, + "start_line": 395, + "end_line": 413, "start_column": 0, "end_column": 0, "depth": 9, @@ -70280,8 +97320,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 388, - "end_line": 397, + "start_line": 398, + "end_line": 407, "start_column": 0, "end_column": 0, "depth": 17, @@ -70294,8 +97334,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 390, - "end_line": 396, + "start_line": 400, + "end_line": 406, "start_column": 0, "end_column": 0, "depth": 20, @@ -70308,8 +97348,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 392, - "end_line": 395, + "start_line": 402, + "end_line": 405, "start_column": 0, "end_column": 0, "depth": 23, @@ -70322,8 +97362,8 @@ "type": "function", "name": "is_finalized", "full_name": "", - "start_line": 410, - "end_line": 412, + "start_line": 420, + "end_line": 422, "start_column": 0, "end_column": 0, "depth": 3, @@ -70336,8 +97376,8 @@ "type": "function", "name": "is_in_finalization", "full_name": "", - "start_line": 415, - "end_line": 417, + "start_line": 425, + "end_line": 427, "start_column": 0, "end_column": 0, "depth": 3, @@ -70350,8 +97390,8 @@ "type": "function", "name": "is_weak_field", "full_name": "", - "start_line": 420, - "end_line": 422, + "start_line": 430, + "end_line": 432, "start_column": 0, "end_column": 0, "depth": 3, @@ -70364,8 +97404,8 @@ "type": "class", "name": "InstanceBox", "full_name": "", - "start_line": 425, - "end_line": 449, + "start_line": 435, + "end_line": 462, "start_column": 0, "end_column": 0, "depth": 1, @@ -70378,8 +97418,8 @@ "type": "function", "name": "to_string_box", "full_name": "", - "start_line": 426, - "end_line": 428, + "start_line": 436, + "end_line": 438, "start_column": 0, "end_column": 0, "depth": 3, @@ -70392,8 +97432,8 @@ "type": "function", "name": "equals", "full_name": "", - "start_line": 430, - "end_line": 437, + "start_line": 440, + "end_line": 447, "start_column": 0, "end_column": 0, "depth": 3, @@ -70406,8 +97446,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 431, - "end_line": 436, + "start_line": 441, + "end_line": 446, "start_column": 0, "end_column": 0, "depth": 6, @@ -70420,8 +97460,8 @@ "type": "function", "name": "type_name", "full_name": "", - "start_line": 439, - "end_line": 441, + "start_line": 449, + "end_line": 451, "start_column": 0, "end_column": 0, "depth": 3, @@ -70434,8 +97474,22 @@ "type": "function", "name": "clone_box", "full_name": "", - "start_line": 443, - "end_line": 446, + "start_line": 453, + "end_line": 456, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 459, + "end_line": 461, "start_column": 0, "end_column": 0, "depth": 3, @@ -70448,8 +97502,8 @@ "type": "class", "name": "InstanceBox", "full_name": "", - "start_line": 451, - "end_line": 471, + "start_line": 464, + "end_line": 484, "start_column": 0, "end_column": 0, "depth": 1, @@ -70462,8 +97516,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 452, - "end_line": 454, + "start_line": 465, + "end_line": 467, "start_column": 0, "end_column": 0, "depth": 3, @@ -70476,8 +97530,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 456, - "end_line": 458, + "start_line": 469, + "end_line": 471, "start_column": 0, "end_column": 0, "depth": 3, @@ -70490,8 +97544,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 460, - "end_line": 462, + "start_line": 473, + "end_line": 475, "start_column": 0, "end_column": 0, "depth": 3, @@ -70504,8 +97558,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 464, - "end_line": 466, + "start_line": 477, + "end_line": 479, "start_column": 0, "end_column": 0, "depth": 3, @@ -70518,8 +97572,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 468, - "end_line": 470, + "start_line": 481, + "end_line": 483, "start_column": 0, "end_column": 0, "depth": 3, @@ -70532,8 +97586,8 @@ "type": "class", "name": "InstanceBox", "full_name": "", - "start_line": 473, - "end_line": 477, + "start_line": 486, + "end_line": 490, "start_column": 0, "end_column": 0, "depth": 1, @@ -70546,8 +97600,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 474, - "end_line": 476, + "start_line": 487, + "end_line": 489, "start_column": 0, "end_column": 0, "depth": 3, @@ -70560,8 +97614,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 483, - "end_line": 483, + "start_line": 496, + "end_line": 496, "start_column": 0, "end_column": 0, "depth": 3, @@ -70574,8 +97628,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 484, - "end_line": 484, + "start_line": 497, + "end_line": 497, "start_column": 0, "end_column": 0, "depth": 3, @@ -70588,81 +97642,11 @@ "type": "function", "name": "test_instance_creation", "full_name": "", - "start_line": 487, - "end_line": 496, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 488, - "end_line": 488, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 489, - "end_line": 489, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 490, - "end_line": 490, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "test_field_access", - "full_name": "", - "start_line": 499, - "end_line": 512, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", "start_line": 500, - "end_line": 500, + "end_line": 509, "start_column": 0, "end_column": 0, - "depth": 5, + "depth": 3, "scope_path": "", "children": [], "attributes": {}, @@ -70700,36 +97684,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 505, - "end_line": 505, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 509, - "end_line": 509, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 510, - "end_line": 510, + "start_line": 503, + "end_line": 503, "start_column": 0, "end_column": 0, "depth": 5, @@ -70740,10 +97696,10 @@ }, { "type": "function", - "name": "test_instance_equality", + "name": "test_field_access", "full_name": "", - "start_line": 515, - "end_line": 524, + "start_line": 512, + "end_line": 525, "start_column": 0, "end_column": 0, "depth": 3, @@ -70756,8 +97712,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 516, - "end_line": 516, + "start_line": 513, + "end_line": 513, "start_column": 0, "end_column": 0, "depth": 5, @@ -70770,8 +97726,106 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 517, - "end_line": 517, + "start_line": 514, + "end_line": 514, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 515, + "end_line": 515, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 518, + "end_line": 518, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 522, + "end_line": 522, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 523, + "end_line": 523, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_instance_equality", + "full_name": "", + "start_line": 528, + "end_line": 537, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 529, + "end_line": 529, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 530, + "end_line": 530, "start_column": 0, "end_column": 0, "depth": 5, @@ -70785,24 +97839,24 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 114, + "total_nodes": 116, "max_depth": 23, "node_type_counts": { + "if_statement": 26, "for_loop": 4, - "if_statement": 25, - "class": 5, "import": 11, - "variable": 35, "file_root": 1, - "function": 33 + "class": 5, + "function": 34, + "variable": 35 }, "classes": 5, - "functions": 33, + "functions": 34, "methods": 0, "variables": 35, - "control_structures": 29 + "control_structures": 30 }, - "generated_at": "2025-08-13T11:36:21.756220914Z" + "generated_at": "2025-08-15T16:17:53.929701655Z" }, { "file_info": { @@ -70814,7 +97868,7 @@ "comment_lines": 35, "empty_lines": 4, "code_ratio": 0.7045454545454546, - "analyzed_at": "2025-08-13T11:36:21.762718495Z", + "analyzed_at": "2025-08-15T16:17:53.936338226Z", "metadata": {} }, "language": "rust", @@ -70877,8 +97931,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } } ], @@ -71228,13 +98282,13 @@ "total_nodes": 21, "max_depth": 11, "node_type_counts": { - "class": 1, - "function": 2, - "import": 3, - "file_root": 1, "variable": 5, + "if_statement": 8, + "import": 3, "for_loop": 1, - "if_statement": 8 + "class": 1, + "file_root": 1, + "function": 2 }, "classes": 1, "functions": 2, @@ -71242,7 +98296,7 @@ "variables": 5, "control_structures": 9 }, - "generated_at": "2025-08-13T11:36:21.762728941Z" + "generated_at": "2025-08-15T16:17:53.936347044Z" }, { "file_info": { @@ -71254,7 +98308,7 @@ "comment_lines": 80, "empty_lines": 34, "code_ratio": 0.5884476534296029, - "analyzed_at": "2025-08-13T11:36:21.762108585Z", + "analyzed_at": "2025-08-15T16:17:53.936916796Z", "metadata": {} }, "language": "rust", @@ -71906,13 +98960,13 @@ "total_nodes": 33, "max_depth": 11, "node_type_counts": { - "if_statement": 12, "for_loop": 3, - "import": 2, - "function": 3, - "variable": 11, + "if_statement": 12, "class": 1, - "file_root": 1 + "import": 2, + "file_root": 1, + "function": 3, + "variable": 11 }, "classes": 1, "functions": 3, @@ -71920,19 +98974,19 @@ "variables": 11, "control_structures": 15 }, - "generated_at": "2025-08-13T11:36:21.762126863Z" + "generated_at": "2025-08-15T16:17:53.936932637Z" }, { "file_info": { "name": "core.rs", "path": "src/interpreter/core.rs", "size_bytes": 0, - "total_lines": 776, - "code_lines": 556, - "comment_lines": 89, - "empty_lines": 131, - "code_ratio": 0.7164948453608248, - "analyzed_at": "2025-08-13T11:36:21.762707676Z", + "total_lines": 867, + "code_lines": 622, + "comment_lines": 97, + "empty_lines": 148, + "code_ratio": 0.7174163783160323, + "analyzed_at": "2025-08-15T16:17:53.936309858Z", "metadata": {} }, "language": "rust", @@ -71940,8 +98994,8 @@ { "name": "RuntimeError", "parent_class": null, - "start_line": 33, - "end_line": 83, + "start_line": 34, + "end_line": 84, "methods": [], "properties": [], "member_variables": [], @@ -71953,8 +99007,8 @@ { "name": "RuntimeError", "parent_class": null, - "start_line": 85, - "end_line": 149, + "start_line": 86, + "end_line": 150, "methods": [], "properties": [], "member_variables": [], @@ -71965,8 +99019,8 @@ { "name": "SharedState", "parent_class": null, - "start_line": 153, - "end_line": 168, + "start_line": 154, + "end_line": 169, "methods": [], "properties": [], "member_variables": [], @@ -71978,8 +99032,8 @@ { "name": "SharedState", "parent_class": null, - "start_line": 170, - "end_line": 187, + "start_line": 171, + "end_line": 188, "methods": [], "properties": [], "member_variables": [], @@ -71990,21 +99044,21 @@ { "name": "NyashInterpreter", "parent_class": null, - "start_line": 190, - "end_line": 211, + "start_line": 191, + "end_line": 215, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { "name": "NyashInterpreter", "parent_class": null, - "start_line": 213, - "end_line": 458, + "start_line": 217, + "end_line": 549, "methods": [], "properties": [], "member_variables": [], @@ -72015,8 +99069,8 @@ { "name": "NyashInterpreter", "parent_class": null, - "start_line": 552, - "end_line": 776, + "start_line": 643, + "end_line": 867, "methods": [], "properties": [], "member_variables": [], @@ -72028,8 +99082,8 @@ "functions": [ { "name": "debug_log", - "start_line": 20, - "end_line": 29, + "start_line": 21, + "end_line": 30, "parameters": [ "msg: &str" ], @@ -72048,8 +99102,8 @@ }, { "name": "detailed_message", - "start_line": 87, - "end_line": 148, + "start_line": 88, + "end_line": 149, "parameters": [ "&self", "source" @@ -72070,8 +99124,8 @@ }, { "name": "new", - "start_line": 172, - "end_line": 186, + "start_line": 173, + "end_line": 187, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72089,8 +99143,8 @@ }, { "name": "new", - "start_line": 215, - "end_line": 227, + "start_line": 219, + "end_line": 232, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72108,8 +99162,8 @@ }, { "name": "with_shared", - "start_line": 230, - "end_line": 240, + "start_line": 235, + "end_line": 246, "parameters": [ "shared: SharedState" ], @@ -72129,8 +99183,8 @@ }, { "name": "execute", - "start_line": 243, - "end_line": 250, + "start_line": 249, + "end_line": 256, "parameters": [ "&mut self", "ast: ASTNode" @@ -72145,14 +99199,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "execute_node", - "start_line": 253, - "end_line": 320, + "start_line": 259, + "end_line": 326, "parameters": [ "&mut self", "node: &ASTNode" @@ -72172,8 +99226,8 @@ }, { "name": "resolve_variable", - "start_line": 325, - "end_line": 356, + "start_line": 331, + "end_line": 440, "parameters": [ "&self", "name: &str" @@ -72194,8 +99248,8 @@ }, { "name": "set_variable", - "start_line": 359, - "end_line": 390, + "start_line": 443, + "end_line": 476, "parameters": [ "&mut self", "name: &str", @@ -72211,14 +99265,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } }, { "name": "declare_local_variable", - "start_line": 393, - "end_line": 395, + "start_line": 479, + "end_line": 481, "parameters": [ "&mut self", "name: &str", @@ -72240,8 +99294,8 @@ }, { "name": "declare_outbox_variable", - "start_line": 398, - "end_line": 400, + "start_line": 484, + "end_line": 486, "parameters": [ "&mut self", "name: &str", @@ -72263,8 +99317,8 @@ }, { "name": "save_local_vars", - "start_line": 403, - "end_line": 407, + "start_line": 489, + "end_line": 493, "parameters": [ "&self" ], @@ -72278,14 +99332,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } }, { "name": "closure", - "start_line": 405, - "end_line": 405, + "start_line": 491, + "end_line": 491, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72302,8 +99356,8 @@ }, { "name": "restore_local_vars", - "start_line": 409, - "end_line": 411, + "start_line": 495, + "end_line": 499, "parameters": [ "&mut self", "saved" @@ -72322,10 +99376,28 @@ "type": "function" } }, + { + "name": "closure", + "start_line": 497, + "end_line": 497, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, { "name": "save_outbox_vars", - "start_line": 414, - "end_line": 418, + "start_line": 502, + "end_line": 506, "parameters": [ "&self" ], @@ -72339,14 +99411,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { "name": "closure", - "start_line": 416, - "end_line": 416, + "start_line": 504, + "end_line": 504, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72363,8 +99435,8 @@ }, { "name": "restore_outbox_vars", - "start_line": 420, - "end_line": 422, + "start_line": 508, + "end_line": 512, "parameters": [ "&mut self", "saved" @@ -72383,10 +99455,28 @@ "modifiers": "pub(super)" } }, + { + "name": "closure", + "start_line": 510, + "end_line": 510, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, { "name": "register_global_function", - "start_line": 425, - "end_line": 430, + "start_line": 515, + "end_line": 520, "parameters": [ "&mut self", "name: String", @@ -72402,14 +99492,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } }, { "name": "closure", - "start_line": 428, - "end_line": 428, + "start_line": 518, + "end_line": 518, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72426,8 +99516,8 @@ }, { "name": "is_truthy", - "start_line": 437, - "end_line": 452, + "start_line": 527, + "end_line": 542, "parameters": [ "&self", "value: &Box" @@ -72442,14 +99532,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } }, { "name": "get_variable", - "start_line": 455, - "end_line": 457, + "start_line": 545, + "end_line": 548, "parameters": [ "&self", "name: &str" @@ -72464,14 +99554,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "test_simple_execution", - "start_line": 468, - "end_line": 479, + "start_line": 559, + "end_line": 570, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72488,8 +99578,8 @@ }, { "name": "test_arithmetic", - "start_line": 482, - "end_line": 494, + "start_line": 573, + "end_line": 585, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72506,8 +99596,8 @@ }, { "name": "test_if_statement", - "start_line": 497, - "end_line": 514, + "start_line": 588, + "end_line": 605, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72524,8 +99614,8 @@ }, { "name": "test_box_instance_creation", - "start_line": 517, - "end_line": 547, + "start_line": 608, + "end_line": 638, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72542,8 +99632,8 @@ }, { "name": "register_static_box", - "start_line": 555, - "end_line": 563, + "start_line": 646, + "end_line": 654, "parameters": [ "&mut self", "definition: StaticBoxDefinition" @@ -72558,14 +99648,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "closure", - "start_line": 557, - "end_line": 559, + "start_line": 648, + "end_line": 650, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72582,8 +99672,8 @@ }, { "name": "register_static_box_declaration", - "start_line": 566, - "end_line": 596, + "start_line": 657, + "end_line": 687, "parameters": [ "&mut self", "name: String", @@ -72612,8 +99702,8 @@ }, { "name": "ensure_static_box_initialized", - "start_line": 599, - "end_line": 665, + "start_line": 690, + "end_line": 756, "parameters": [ "&mut self", "name: &str" @@ -72628,14 +99718,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "closure", - "start_line": 603, - "end_line": 605, + "start_line": 694, + "end_line": 696, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72652,8 +99742,8 @@ }, { "name": "set_static_box_state", - "start_line": 668, - "end_line": 679, + "start_line": 759, + "end_line": 770, "parameters": [ "&mut self", "name: &str", @@ -72674,8 +99764,8 @@ }, { "name": "closure", - "start_line": 670, - "end_line": 672, + "start_line": 761, + "end_line": 763, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72692,8 +99782,8 @@ }, { "name": "ensure_statics_namespace", - "start_line": 682, - "end_line": 709, + "start_line": 773, + "end_line": 800, "parameters": [ "&mut self" ], @@ -72712,8 +99802,8 @@ }, { "name": "closure", - "start_line": 684, - "end_line": 686, + "start_line": 775, + "end_line": 777, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72730,8 +99820,8 @@ }, { "name": "set_static_instance", - "start_line": 712, - "end_line": 738, + "start_line": 803, + "end_line": 829, "parameters": [ "&mut self", "name: &str", @@ -72752,8 +99842,8 @@ }, { "name": "closure", - "start_line": 714, - "end_line": 716, + "start_line": 805, + "end_line": 807, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -72770,8 +99860,8 @@ }, { "name": "is_static_box", - "start_line": 741, - "end_line": 747, + "start_line": 832, + "end_line": 838, "parameters": [ "&self", "name: &str" @@ -72786,14 +99876,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { "name": "trigger_weak_reference_invalidation", - "start_line": 750, - "end_line": 775, + "start_line": 841, + "end_line": 866, "parameters": [ "&mut self", "target_info: &str" @@ -72808,8 +99898,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } } ], @@ -72824,7 +99914,7 @@ }, { "type": "rust_use", - "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox}", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox, SharedNyashBox}", "imported_names": [], "alias": null, "line_number": 9, @@ -72848,7 +99938,7 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex, RwLock}", + "module_path": "super::BuiltinStdlib", "imported_names": [], "alias": null, "line_number": 12, @@ -72856,7 +99946,7 @@ }, { "type": "rust_use", - "module_path": "std::collections::{HashMap, HashSet}", + "module_path": "std::sync::{Arc, Mutex, RwLock}", "imported_names": [], "alias": null, "line_number": 13, @@ -72864,7 +99954,7 @@ }, { "type": "rust_use", - "module_path": "thiserror::Error", + "module_path": "std::collections::{HashMap, HashSet}", "imported_names": [], "alias": null, "line_number": 14, @@ -72872,7 +99962,7 @@ }, { "type": "rust_use", - "module_path": "super::{ControlFlow, BoxDeclaration, ConstructorContext, StaticBoxDefinition, StaticBoxState}", + "module_path": "thiserror::Error", "imported_names": [], "alias": null, "line_number": 15, @@ -72880,7 +99970,7 @@ }, { "type": "rust_use", - "module_path": "std::fs::OpenOptions", + "module_path": "super::{ControlFlow, BoxDeclaration, ConstructorContext, StaticBoxDefinition, StaticBoxState}", "imported_names": [], "alias": null, "line_number": 16, @@ -72888,18 +99978,26 @@ }, { "type": "rust_use", - "module_path": "std::io::Write", + "module_path": "std::fs::OpenOptions", "imported_names": [], "alias": null, "line_number": 17, "metadata": {} }, + { + "type": "rust_use", + "module_path": "std::io::Write", + "imported_names": [], + "alias": null, + "line_number": 18, + "metadata": {} + }, { "type": "rust_use", "module_path": "std::any::Any", "imported_names": [], "alias": null, - "line_number": 439, + "line_number": 529, "metadata": {} }, { @@ -72907,7 +100005,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 464, + "line_number": 555, "metadata": {} }, { @@ -72915,7 +100013,7 @@ "module_path": "crate::parser::NyashParser", "imported_names": [], "alias": null, - "line_number": 465, + "line_number": 556, "metadata": {} } ], @@ -72933,8 +100031,8 @@ "metadata": {}, "stats": { "class_count": 7, - "function_count": 38, - "import_count": 13, + "function_count": 40, + "import_count": 14, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -73091,12 +100189,26 @@ "attributes": {}, "source_text": null }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 18, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "debug_log", "full_name": "", - "start_line": 20, - "end_line": 29, + "start_line": 21, + "end_line": 30, "start_column": 0, "end_column": 0, "depth": 1, @@ -73109,8 +100221,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 21, - "end_line": 28, + "start_line": 22, + "end_line": 29, "start_column": 0, "end_column": 0, "depth": 4, @@ -73119,20 +100231,6 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 26, - "end_line": 26, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", @@ -73147,12 +100245,26 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "RuntimeError", "full_name": "", - "start_line": 33, - "end_line": 83, + "start_line": 34, + "end_line": 84, "start_column": 0, "end_column": 0, "depth": 1, @@ -73165,8 +100277,8 @@ "type": "class", "name": "RuntimeError", "full_name": "", - "start_line": 85, - "end_line": 149, + "start_line": 86, + "end_line": 150, "start_column": 0, "end_column": 0, "depth": 1, @@ -73179,8 +100291,8 @@ "type": "function", "name": "detailed_message", "full_name": "", - "start_line": 87, - "end_line": 148, + "start_line": 88, + "end_line": 149, "start_column": 0, "end_column": 0, "depth": 3, @@ -73193,8 +100305,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 91, - "end_line": 91, + "start_line": 92, + "end_line": 92, "start_column": 0, "end_column": 0, "depth": 10, @@ -73207,8 +100319,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 92, - "end_line": 97, + "start_line": 93, + "end_line": 98, "start_column": 0, "end_column": 0, "depth": 11, @@ -73221,36 +100333,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 102, - "end_line": 102, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", "start_line": 103, - "end_line": 108, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 113, - "end_line": 113, + "end_line": 103, "start_column": 0, "end_column": 0, "depth": 10, @@ -73263,22 +100347,22 @@ "type": "if_statement", "name": "", "full_name": "", + "start_line": 104, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", "start_line": 114, - "end_line": 119, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 124, - "end_line": 124, + "end_line": 114, "start_column": 0, "end_column": 0, "depth": 10, @@ -73291,22 +100375,22 @@ "type": "if_statement", "name": "", "full_name": "", + "start_line": 115, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", "start_line": 125, - "end_line": 130, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 135, - "end_line": 135, + "end_line": 125, "start_column": 0, "end_column": 0, "depth": 10, @@ -73319,8 +100403,36 @@ "type": "if_statement", "name": "", "full_name": "", + "start_line": 126, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", "start_line": 136, - "end_line": 141, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 142, "start_column": 0, "end_column": 0, "depth": 11, @@ -73333,8 +100445,8 @@ "type": "class", "name": "SharedState", "full_name": "", - "start_line": 153, - "end_line": 168, + "start_line": 154, + "end_line": 169, "start_column": 0, "end_column": 0, "depth": 1, @@ -73347,8 +100459,8 @@ "type": "class", "name": "SharedState", "full_name": "", - "start_line": 170, - "end_line": 187, + "start_line": 171, + "end_line": 188, "start_column": 0, "end_column": 0, "depth": 1, @@ -73361,8 +100473,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 172, - "end_line": 186, + "start_line": 173, + "end_line": 187, "start_column": 0, "end_column": 0, "depth": 3, @@ -73375,8 +100487,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 173, - "end_line": 177, + "start_line": 174, + "end_line": 178, "start_column": 0, "end_column": 0, "depth": 5, @@ -73389,8 +100501,8 @@ "type": "class", "name": "NyashInterpreter", "full_name": "", - "start_line": 190, - "end_line": 211, + "start_line": 191, + "end_line": 215, "start_column": 0, "end_column": 0, "depth": 1, @@ -73403,8 +100515,8 @@ "type": "class", "name": "NyashInterpreter", "full_name": "", - "start_line": 213, - "end_line": 458, + "start_line": 217, + "end_line": 549, "start_column": 0, "end_column": 0, "depth": 1, @@ -73417,8 +100529,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 215, - "end_line": 227, + "start_line": 219, + "end_line": 232, "start_column": 0, "end_column": 0, "depth": 3, @@ -73431,8 +100543,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 216, - "end_line": 216, + "start_line": 220, + "end_line": 220, "start_column": 0, "end_column": 0, "depth": 5, @@ -73445,8 +100557,8 @@ "type": "function", "name": "with_shared", "full_name": "", - "start_line": 230, - "end_line": 240, + "start_line": 235, + "end_line": 246, "start_column": 0, "end_column": 0, "depth": 3, @@ -73459,8 +100571,8 @@ "type": "function", "name": "execute", "full_name": "", - "start_line": 243, - "end_line": 250, + "start_line": 249, + "end_line": 256, "start_column": 0, "end_column": 0, "depth": 3, @@ -73473,8 +100585,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 246, - "end_line": 246, + "start_line": 252, + "end_line": 252, "start_column": 0, "end_column": 0, "depth": 5, @@ -73487,8 +100599,8 @@ "type": "function", "name": "execute_node", "full_name": "", - "start_line": 253, - "end_line": 320, + "start_line": 259, + "end_line": 326, "start_column": 0, "end_column": 0, "depth": 3, @@ -73501,8 +100613,8 @@ "type": "variable", "name": "Box", "full_name": "", - "start_line": 258, - "end_line": 258, + "start_line": 264, + "end_line": 264, "start_column": 0, "end_column": 0, "depth": 10, @@ -73515,8 +100627,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 260, - "end_line": 278, + "start_line": 266, + "end_line": 284, "start_column": 0, "end_column": 0, "depth": 11, @@ -73529,8 +100641,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 281, - "end_line": 291, + "start_line": 287, + "end_line": 297, "start_column": 0, "end_column": 0, "depth": 10, @@ -73543,8 +100655,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 282, - "end_line": 290, + "start_line": 288, + "end_line": 296, "start_column": 0, "end_column": 0, "depth": 13, @@ -73557,8 +100669,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 283, - "end_line": 287, + "start_line": 289, + "end_line": 293, "start_column": 0, "end_column": 0, "depth": 16, @@ -73571,8 +100683,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 293, - "end_line": 314, + "start_line": 299, + "end_line": 320, "start_column": 0, "end_column": 0, "depth": 11, @@ -73585,8 +100697,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 298, - "end_line": 310, + "start_line": 304, + "end_line": 316, "start_column": 0, "end_column": 0, "depth": 13, @@ -73599,8 +100711,8 @@ "type": "function", "name": "resolve_variable", "full_name": "", - "start_line": 325, - "end_line": 356, + "start_line": 331, + "end_line": 440, "start_column": 0, "end_column": 0, "depth": 3, @@ -73613,8 +100725,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 326, - "end_line": 327, + "start_line": 332, + "end_line": 333, "start_column": 0, "end_column": 0, "depth": 5, @@ -73623,26 +100735,12 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 332, - "end_line": 335, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", "start_line": 338, - "end_line": 341, + "end_line": 348, "start_column": 0, "end_column": 0, "depth": 6, @@ -73655,11 +100753,11 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 345, - "end_line": 345, + "start_line": 342, + "end_line": 342, "start_column": 0, "end_column": 0, - "depth": 5, + "depth": 8, "scope_path": "", "children": [], "attributes": {}, @@ -73669,50 +100767,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 346, - "end_line": 349, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "set_variable", - "full_name": "", - "start_line": 359, - "end_line": 390, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 361, - "end_line": 364, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 367, - "end_line": 370, + "start_line": 351, + "end_line": 361, "start_column": 0, "end_column": 0, "depth": 6, @@ -73725,22 +100781,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 374, - "end_line": 374, - "start_column": 0, - "end_column": 0, - "depth": 7, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 375, - "end_line": 380, + "start_line": 355, + "end_line": 355, "start_column": 0, "end_column": 0, "depth": 8, @@ -73753,8 +100795,274 @@ "type": "variable", "name": "", "full_name": "", + "start_line": 365, + "end_line": 365, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 369, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 373, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", "start_line": 377, - "end_line": 377, + "end_line": 399, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 379, + "end_line": 379, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 380, + "end_line": 380, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 383, + "end_line": 388, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 389, + "end_line": 399, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 391, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 406, + "end_line": 433, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 410, + "end_line": 430, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 414, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 418, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_variable", + "full_name": "", + "start_line": 443, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 444, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 447, + "end_line": 450, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 453, + "end_line": 456, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 460, + "end_line": 460, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 461, + "end_line": 466, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 463, + "end_line": 463, "start_column": 0, "end_column": 0, "depth": 10, @@ -73767,8 +101075,8 @@ "type": "function", "name": "declare_local_variable", "full_name": "", - "start_line": 393, - "end_line": 395, + "start_line": 479, + "end_line": 481, "start_column": 0, "end_column": 0, "depth": 3, @@ -73781,8 +101089,8 @@ "type": "function", "name": "declare_outbox_variable", "full_name": "", - "start_line": 398, - "end_line": 400, + "start_line": 484, + "end_line": 486, "start_column": 0, "end_column": 0, "depth": 3, @@ -73795,8 +101103,8 @@ "type": "function", "name": "save_local_vars", "full_name": "", - "start_line": 403, - "end_line": 407, + "start_line": 489, + "end_line": 493, "start_column": 0, "end_column": 0, "depth": 3, @@ -73809,8 +101117,8 @@ "type": "function", "name": "restore_local_vars", "full_name": "", - "start_line": 409, - "end_line": 411, + "start_line": 495, + "end_line": 499, "start_column": 0, "end_column": 0, "depth": 3, @@ -73823,8 +101131,8 @@ "type": "function", "name": "save_outbox_vars", "full_name": "", - "start_line": 414, - "end_line": 418, + "start_line": 502, + "end_line": 506, "start_column": 0, "end_column": 0, "depth": 3, @@ -73837,8 +101145,8 @@ "type": "function", "name": "restore_outbox_vars", "full_name": "", - "start_line": 420, - "end_line": 422, + "start_line": 508, + "end_line": 512, "start_column": 0, "end_column": 0, "depth": 3, @@ -73851,8 +101159,8 @@ "type": "function", "name": "register_global_function", "full_name": "", - "start_line": 425, - "end_line": 430, + "start_line": 515, + "end_line": 520, "start_column": 0, "end_column": 0, "depth": 3, @@ -73865,8 +101173,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 426, - "end_line": 426, + "start_line": 516, + "end_line": 516, "start_column": 0, "end_column": 0, "depth": 5, @@ -73879,8 +101187,8 @@ "type": "function", "name": "is_truthy", "full_name": "", - "start_line": 437, - "end_line": 452, + "start_line": 527, + "end_line": 542, "start_column": 0, "end_column": 0, "depth": 3, @@ -73893,8 +101201,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 439, - "end_line": 439, + "start_line": 529, + "end_line": 529, "start_column": 0, "end_column": 0, "depth": 5, @@ -73907,8 +101215,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 441, - "end_line": 451, + "start_line": 531, + "end_line": 541, "start_column": 0, "end_column": 0, "depth": 6, @@ -73921,8 +101229,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 443, - "end_line": 451, + "start_line": 533, + "end_line": 541, "start_column": 0, "end_column": 0, "depth": 8, @@ -73935,8 +101243,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 445, - "end_line": 451, + "start_line": 535, + "end_line": 541, "start_column": 0, "end_column": 0, "depth": 10, @@ -73949,8 +101257,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 447, - "end_line": 451, + "start_line": 537, + "end_line": 541, "start_column": 0, "end_column": 0, "depth": 12, @@ -73963,8 +101271,36 @@ "type": "function", "name": "get_variable", "full_name": "", - "start_line": 455, - "end_line": 457, + "start_line": 545, + "end_line": 548, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 546, + "end_line": 546, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 555, + "end_line": 555, "start_column": 0, "end_column": 0, "depth": 3, @@ -73977,22 +101313,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 464, - "end_line": 464, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 465, - "end_line": 465, + "start_line": 556, + "end_line": 556, "start_column": 0, "end_column": 0, "depth": 3, @@ -74005,8 +101327,8 @@ "type": "function", "name": "test_simple_execution", "full_name": "", - "start_line": 468, - "end_line": 479, + "start_line": 559, + "end_line": 570, "start_column": 0, "end_column": 0, "depth": 3, @@ -74019,8 +101341,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 469, - "end_line": 472, + "start_line": 560, + "end_line": 563, "start_column": 0, "end_column": 0, "depth": 5, @@ -74033,8 +101355,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 474, - "end_line": 474, + "start_line": 565, + "end_line": 565, "start_column": 0, "end_column": 0, "depth": 5, @@ -74047,8 +101369,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 475, - "end_line": 475, + "start_line": 566, + "end_line": 566, "start_column": 0, "end_column": 0, "depth": 5, @@ -74061,8 +101383,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 476, - "end_line": 476, + "start_line": 567, + "end_line": 567, "start_column": 0, "end_column": 0, "depth": 5, @@ -74075,8 +101397,8 @@ "type": "function", "name": "test_arithmetic", "full_name": "", - "start_line": 482, - "end_line": 494, + "start_line": 573, + "end_line": 585, "start_column": 0, "end_column": 0, "depth": 3, @@ -74089,8 +101411,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 483, - "end_line": 485, + "start_line": 574, + "end_line": 576, "start_column": 0, "end_column": 0, "depth": 5, @@ -74103,8 +101425,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 487, - "end_line": 487, + "start_line": 578, + "end_line": 578, "start_column": 0, "end_column": 0, "depth": 5, @@ -74117,8 +101439,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 488, - "end_line": 488, + "start_line": 579, + "end_line": 579, "start_column": 0, "end_column": 0, "depth": 5, @@ -74131,8 +101453,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 492, - "end_line": 492, + "start_line": 583, + "end_line": 583, "start_column": 0, "end_column": 0, "depth": 5, @@ -74145,8 +101467,8 @@ "type": "function", "name": "test_if_statement", "full_name": "", - "start_line": 497, - "end_line": 514, + "start_line": 588, + "end_line": 605, "start_column": 0, "end_column": 0, "depth": 3, @@ -74159,8 +101481,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 498, - "end_line": 505, + "start_line": 589, + "end_line": 596, "start_column": 0, "end_column": 0, "depth": 5, @@ -74173,8 +101495,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 507, - "end_line": 507, + "start_line": 598, + "end_line": 598, "start_column": 0, "end_column": 0, "depth": 5, @@ -74187,8 +101509,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 508, - "end_line": 508, + "start_line": 599, + "end_line": 599, "start_column": 0, "end_column": 0, "depth": 5, @@ -74201,8 +101523,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 512, - "end_line": 512, + "start_line": 603, + "end_line": 603, "start_column": 0, "end_column": 0, "depth": 5, @@ -74215,8 +101537,8 @@ "type": "function", "name": "test_box_instance_creation", "full_name": "", - "start_line": 517, - "end_line": 547, + "start_line": 608, + "end_line": 638, "start_column": 0, "end_column": 0, "depth": 3, @@ -74229,8 +101551,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 518, - "end_line": 534, + "start_line": 609, + "end_line": 625, "start_column": 0, "end_column": 0, "depth": 5, @@ -74243,8 +101565,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 536, - "end_line": 536, + "start_line": 627, + "end_line": 627, "start_column": 0, "end_column": 0, "depth": 5, @@ -74257,8 +101579,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 537, - "end_line": 537, + "start_line": 628, + "end_line": 628, "start_column": 0, "end_column": 0, "depth": 5, @@ -74271,8 +101593,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 541, - "end_line": 541, + "start_line": 632, + "end_line": 632, "start_column": 0, "end_column": 0, "depth": 5, @@ -74285,8 +101607,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 545, - "end_line": 545, + "start_line": 636, + "end_line": 636, "start_column": 0, "end_column": 0, "depth": 5, @@ -74299,8 +101621,8 @@ "type": "class", "name": "NyashInterpreter", "full_name": "", - "start_line": 552, - "end_line": 776, + "start_line": 643, + "end_line": 867, "start_column": 0, "end_column": 0, "depth": 1, @@ -74313,8 +101635,8 @@ "type": "function", "name": "register_static_box", "full_name": "", - "start_line": 555, - "end_line": 563, + "start_line": 646, + "end_line": 654, "start_column": 0, "end_column": 0, "depth": 3, @@ -74327,8 +101649,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 556, - "end_line": 559, + "start_line": 647, + "end_line": 650, "start_column": 0, "end_column": 0, "depth": 5, @@ -74341,8 +101663,8 @@ "type": "function", "name": "register_static_box_declaration", "full_name": "", - "start_line": 566, - "end_line": 596, + "start_line": 657, + "end_line": 687, "start_column": 0, "end_column": 0, "depth": 3, @@ -74355,8 +101677,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 581, - "end_line": 592, + "start_line": 672, + "end_line": 683, "start_column": 0, "end_column": 0, "depth": 5, @@ -74369,8 +101691,8 @@ "type": "function", "name": "ensure_static_box_initialized", "full_name": "", - "start_line": 599, - "end_line": 665, + "start_line": 690, + "end_line": 756, "start_column": 0, "end_column": 0, "depth": 3, @@ -74383,8 +101705,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 601, - "end_line": 611, + "start_line": 692, + "end_line": 702, "start_column": 0, "end_column": 0, "depth": 5, @@ -74397,8 +101719,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 602, - "end_line": 605, + "start_line": 693, + "end_line": 696, "start_column": 0, "end_column": 0, "depth": 7, @@ -74411,8 +101733,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 614, - "end_line": 616, + "start_line": 705, + "end_line": 707, "start_column": 0, "end_column": 0, "depth": 6, @@ -74425,8 +101747,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 618, - "end_line": 622, + "start_line": 709, + "end_line": 713, "start_column": 0, "end_column": 0, "depth": 6, @@ -74439,8 +101761,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 631, - "end_line": 635, + "start_line": 722, + "end_line": 726, "start_column": 0, "end_column": 0, "depth": 5, @@ -74453,8 +101775,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 641, - "end_line": 659, + "start_line": 732, + "end_line": 750, "start_column": 0, "end_column": 0, "depth": 6, @@ -74467,8 +101789,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 643, - "end_line": 648, + "start_line": 734, + "end_line": 739, "start_column": 0, "end_column": 0, "depth": 8, @@ -74481,8 +101803,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 644, - "end_line": 644, + "start_line": 735, + "end_line": 735, "start_column": 0, "end_column": 0, "depth": 10, @@ -74495,8 +101817,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 645, - "end_line": 645, + "start_line": 736, + "end_line": 736, "start_column": 0, "end_column": 0, "depth": 10, @@ -74509,8 +101831,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 646, - "end_line": 646, + "start_line": 737, + "end_line": 737, "start_column": 0, "end_column": 0, "depth": 10, @@ -74523,8 +101845,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 653, - "end_line": 655, + "start_line": 744, + "end_line": 746, "start_column": 0, "end_column": 0, "depth": 9, @@ -74537,8 +101859,8 @@ "type": "function", "name": "set_static_box_state", "full_name": "", - "start_line": 668, - "end_line": 679, + "start_line": 759, + "end_line": 770, "start_column": 0, "end_column": 0, "depth": 3, @@ -74551,8 +101873,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 669, - "end_line": 672, + "start_line": 760, + "end_line": 763, "start_column": 0, "end_column": 0, "depth": 5, @@ -74565,8 +101887,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 674, - "end_line": 676, + "start_line": 765, + "end_line": 767, "start_column": 0, "end_column": 0, "depth": 6, @@ -74579,8 +101901,8 @@ "type": "function", "name": "ensure_statics_namespace", "full_name": "", - "start_line": 682, - "end_line": 709, + "start_line": 773, + "end_line": 800, "start_column": 0, "end_column": 0, "depth": 3, @@ -74593,8 +101915,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 683, - "end_line": 686, + "start_line": 774, + "end_line": 777, "start_column": 0, "end_column": 0, "depth": 5, @@ -74607,8 +101929,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 689, - "end_line": 692, + "start_line": 780, + "end_line": 783, "start_column": 0, "end_column": 0, "depth": 6, @@ -74621,8 +101943,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 695, - "end_line": 699, + "start_line": 786, + "end_line": 790, "start_column": 0, "end_column": 0, "depth": 5, @@ -74635,8 +101957,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 703, - "end_line": 703, + "start_line": 794, + "end_line": 794, "start_column": 0, "end_column": 0, "depth": 7, @@ -74649,8 +101971,8 @@ "type": "function", "name": "set_static_instance", "full_name": "", - "start_line": 712, - "end_line": 738, + "start_line": 803, + "end_line": 829, "start_column": 0, "end_column": 0, "depth": 3, @@ -74663,8 +101985,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 713, - "end_line": 716, + "start_line": 804, + "end_line": 807, "start_column": 0, "end_column": 0, "depth": 5, @@ -74677,8 +101999,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 719, - "end_line": 722, + "start_line": 810, + "end_line": 813, "start_column": 0, "end_column": 0, "depth": 5, @@ -74691,8 +102013,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 724, - "end_line": 728, + "start_line": 815, + "end_line": 819, "start_column": 0, "end_column": 0, "depth": 5, @@ -74705,8 +102027,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 732, - "end_line": 732, + "start_line": 823, + "end_line": 823, "start_column": 0, "end_column": 0, "depth": 7, @@ -74719,8 +102041,8 @@ "type": "function", "name": "is_static_box", "full_name": "", - "start_line": 741, - "end_line": 747, + "start_line": 832, + "end_line": 838, "start_column": 0, "end_column": 0, "depth": 3, @@ -74733,8 +102055,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 742, - "end_line": 746, + "start_line": 833, + "end_line": 837, "start_column": 0, "end_column": 0, "depth": 6, @@ -74747,8 +102069,8 @@ "type": "function", "name": "trigger_weak_reference_invalidation", "full_name": "", - "start_line": 750, - "end_line": 775, + "start_line": 841, + "end_line": 866, "start_column": 0, "end_column": 0, "depth": 3, @@ -74761,8 +102083,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 755, - "end_line": 774, + "start_line": 846, + "end_line": 865, "start_column": 0, "end_column": 0, "depth": 6, @@ -74775,8 +102097,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 756, - "end_line": 756, + "start_line": 847, + "end_line": 847, "start_column": 0, "end_column": 0, "depth": 8, @@ -74789,8 +102111,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 758, - "end_line": 758, + "start_line": 849, + "end_line": 849, "start_column": 0, "end_column": 0, "depth": 8, @@ -74803,8 +102125,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 759, - "end_line": 759, + "start_line": 850, + "end_line": 850, "start_column": 0, "end_column": 0, "depth": 8, @@ -74817,8 +102139,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 761, - "end_line": 766, + "start_line": 852, + "end_line": 857, "start_column": 0, "end_column": 0, "depth": 9, @@ -74831,8 +102153,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 770, - "end_line": 773, + "start_line": 861, + "end_line": 864, "start_column": 0, "end_column": 0, "depth": 10, @@ -74846,36 +102168,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 136, + "total_nodes": 152, "max_depth": 16, "node_type_counts": { - "class": 7, - "function": 30, - "import": 13, "file_root": 1, - "if_statement": 28, - "variable": 55, + "import": 14, + "function": 30, + "if_statement": 36, + "variable": 62, + "class": 7, "for_loop": 2 }, "classes": 7, "functions": 30, "methods": 0, - "variables": 55, - "control_structures": 30 + "variables": 62, + "control_structures": 38 }, - "generated_at": "2025-08-13T11:36:21.762759483Z" + "generated_at": "2025-08-15T16:17:53.936361251Z" }, { "file_info": { "name": "expressions.rs", "path": "src/interpreter/expressions.rs", "size_bytes": 0, - "total_lines": 1088, - "code_lines": 736, - "comment_lines": 186, - "empty_lines": 166, - "code_ratio": 0.6764705882352942, - "analyzed_at": "2025-08-13T11:36:21.762301419Z", + "total_lines": 1458, + "code_lines": 1028, + "comment_lines": 224, + "empty_lines": 206, + "code_ratio": 0.7050754458161865, + "analyzed_at": "2025-08-15T16:17:53.938135858Z", "metadata": {} }, "language": "rust", @@ -74883,8 +102205,8 @@ { "name": "NyashInterpreter", "parent_class": null, - "start_line": 18, - "end_line": 1088, + "start_line": 108, + "end_line": 1458, "methods": [], "properties": [], "member_variables": [], @@ -74894,10 +102216,115 @@ } ], "functions": [ + { + "name": "try_add_operation", + "start_line": 18, + "end_line": 42, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_sub_operation", + "start_line": 44, + "end_line": 53, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_mul_operation", + "start_line": 55, + "end_line": 73, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_div_operation", + "start_line": 75, + "end_line": 88, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_mod_operation", + "start_line": 90, + "end_line": 103, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "execute_expression", - "start_line": 20, - "end_line": 138, + "start_line": 110, + "end_line": 233, "parameters": [ "&mut self", "expression: &ASTNode" @@ -74918,8 +102345,8 @@ }, { "name": "closure", - "start_line": 29, - "end_line": 32, + "start_line": 119, + "end_line": 122, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -74936,8 +102363,8 @@ }, { "name": "closure", - "start_line": 63, - "end_line": 65, + "start_line": 155, + "end_line": 157, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -74954,8 +102381,8 @@ }, { "name": "closure", - "start_line": 72, - "end_line": 74, + "start_line": 165, + "end_line": 167, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -74972,8 +102399,8 @@ }, { "name": "closure", - "start_line": 82, - "end_line": 84, + "start_line": 175, + "end_line": 177, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -74990,8 +102417,8 @@ }, { "name": "closure", - "start_line": 88, - "end_line": 90, + "start_line": 181, + "end_line": 183, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -75008,8 +102435,8 @@ }, { "name": "closure", - "start_line": 101, - "end_line": 103, + "start_line": 195, + "end_line": 197, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -75026,8 +102453,8 @@ }, { "name": "closure", - "start_line": 107, - "end_line": 109, + "start_line": 201, + "end_line": 203, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -75044,8 +102471,8 @@ }, { "name": "execute_binary_op", - "start_line": 141, - "end_line": 221, + "start_line": 236, + "end_line": 349, "parameters": [ "&mut self", "op: &BinaryOperator", @@ -75066,82 +102493,10 @@ "modifiers": "pub(super)" } }, - { - "name": "closure", - "start_line": 150, - "end_line": 150, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "closure", - "start_line": 186, - "end_line": 186, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "closure", - "start_line": 192, - "end_line": 192, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "closure", - "start_line": 198, - "end_line": 198, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, { "name": "execute_unary_op", - "start_line": 224, - "end_line": 252, + "start_line": 352, + "end_line": 380, "parameters": [ "&mut self", "operator: &UnaryOperator", @@ -75163,8 +102518,8 @@ }, { "name": "execute_method_call", - "start_line": 255, - "end_line": 635, + "start_line": 383, + "end_line": 898, "parameters": [ "&mut self", "object: &ASTNode", @@ -75187,8 +102542,8 @@ }, { "name": "closure", - "start_line": 565, - "end_line": 567, + "start_line": 828, + "end_line": 830, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -75205,8 +102560,8 @@ }, { "name": "execute_field_access", - "start_line": 638, - "end_line": 706, + "start_line": 901, + "end_line": 972, "parameters": [ "&mut self", "object: &ASTNode", @@ -75222,14 +102577,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { "name": "execute_static_field_access", - "start_line": 709, - "end_line": 747, + "start_line": 975, + "end_line": 1016, "parameters": [ "&mut self", "static_box_name: &str", @@ -75250,8 +102605,8 @@ }, { "name": "closure", - "start_line": 716, - "end_line": 718, + "start_line": 982, + "end_line": 984, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -75268,8 +102623,8 @@ }, { "name": "execute_await", - "start_line": 751, - "end_line": 762, + "start_line": 1020, + "end_line": 1031, "parameters": [ "&mut self", "expression: &ASTNode" @@ -75284,14 +102639,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { "name": "closure", - "start_line": 757, - "end_line": 757, + "start_line": 1026, + "end_line": 1026, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -75308,8 +102663,8 @@ }, { "name": "get_object_id", - "start_line": 765, - "end_line": 781, + "start_line": 1034, + "end_line": 1050, "parameters": [ "&self", "node: &ASTNode" @@ -75329,8 +102684,8 @@ }, { "name": "hash_string", - "start_line": 784, - "end_line": 790, + "start_line": 1053, + "end_line": 1059, "parameters": [ "&self", "s: &str" @@ -75350,8 +102705,8 @@ }, { "name": "execute_from_call", - "start_line": 817, - "end_line": 946, + "start_line": 1086, + "end_line": 1216, "parameters": [ "&mut self", "parent: &str", @@ -75374,8 +102729,8 @@ }, { "name": "closure", - "start_line": 822, - "end_line": 824, + "start_line": 1091, + "end_line": 1093, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -75392,8 +102747,8 @@ }, { "name": "execute_from_parent_constructor", - "start_line": 949, - "end_line": 1018, + "start_line": 1219, + "end_line": 1290, "parameters": [ "&mut self", "parent: &str", @@ -75416,8 +102771,8 @@ }, { "name": "closure", - "start_line": 960, - "end_line": 960, + "start_line": 1231, + "end_line": 1231, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -75434,8 +102789,26 @@ }, { "name": "closure", - "start_line": 961, - "end_line": 961, + "start_line": 1232, + "end_line": 1232, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 1233, + "end_line": 1233, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -75452,8 +102825,8 @@ }, { "name": "execute_builtin_box_method", - "start_line": 1021, - "end_line": 1087, + "start_line": 1293, + "end_line": 1380, "parameters": [ "&mut self", "parent: &str", @@ -75473,6 +102846,29 @@ "metadata": { "type": "function" } + }, + { + "name": "execute_builtin_birth_method", + "start_line": 1384, + "end_line": 1457, + "parameters": [ + "&mut self", + "builtin_name: &str", + "current_instance", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } } ], "imports": [ @@ -75494,7 +102890,7 @@ }, { "type": "rust_use", - "module_path": "crate::boxes::{buffer::BufferBox, JSONBox, HttpClientBox, StreamBox, RegexBox, IntentBox}", + "module_path": "crate::boxes::{buffer::BufferBox, JSONBox, HttpClientBox, StreamBox, RegexBox, IntentBox, SocketBox, HTTPServerBox, HTTPRequestBox, HTTPResponseBox}", "imported_names": [], "alias": null, "line_number": 11, @@ -75510,7 +102906,7 @@ }, { "type": "rust_use", - "module_path": "crate::box_trait::BoolBox", + "module_path": "crate::box_trait::{BoolBox, SharedNyashBox}", "imported_names": [], "alias": null, "line_number": 13, @@ -75518,10 +102914,26 @@ }, { "type": "rust_use", - "module_path": "crate::operator_traits::OperatorResolver", + "module_path": "crate::operator_traits::{DynamicAdd, DynamicSub, DynamicMul, DynamicDiv, OperatorError}", "imported_names": [], "alias": null, - "line_number": 14, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::Arc", + "imported_names": [], + "alias": null, + "line_number": 104, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{is_builtin_box, BUILTIN_BOXES}", + "imported_names": [], + "alias": null, + "line_number": 1121, "metadata": {} } ], @@ -75539,8 +102951,8 @@ "metadata": {}, "stats": { "class_count": 1, - "function_count": 29, - "import_count": 6, + "function_count": 32, + "import_count": 8, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -75631,8 +103043,246 @@ "type": "import", "name": "", "full_name": "", - "start_line": 14, - "end_line": 14, + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_add_operation", + "full_name": "", + "start_line": 18, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 34, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_sub_operation", + "full_name": "", + "start_line": 44, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_mul_operation", + "full_name": "", + "start_line": 55, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_div_operation", + "full_name": "", + "start_line": 75, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_mod_operation", + "full_name": "", + "start_line": 90, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 104, "start_column": 0, "end_column": 0, "depth": 1, @@ -75645,8 +103295,8 @@ "type": "class", "name": "NyashInterpreter", "full_name": "", - "start_line": 18, - "end_line": 1088, + "start_line": 108, + "end_line": 1458, "start_column": 0, "end_column": 0, "depth": 1, @@ -75659,8 +103309,8 @@ "type": "function", "name": "execute_expression", "full_name": "", - "start_line": 20, - "end_line": 138, + "start_line": 110, + "end_line": 233, "start_column": 0, "end_column": 0, "depth": 3, @@ -75673,8 +103323,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 48, - "end_line": 48, + "start_line": 118, + "end_line": 122, "start_column": 0, "end_column": 0, "depth": 10, @@ -75687,8 +103337,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 71, - "end_line": 74, + "start_line": 139, + "end_line": 139, "start_column": 0, "end_column": 0, "depth": 10, @@ -75697,90 +103347,6 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 81, - "end_line": 84, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 86, - "end_line": 95, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 100, - "end_line": 103, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 105, - "end_line": 114, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_binary_op", - "full_name": "", - "start_line": 141, - "end_line": 221, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 143, - "end_line": 143, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", @@ -75789,20 +103355,6 @@ "end_line": 144, "start_column": 0, "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 154, - "end_line": 154, - "start_column": 0, - "end_column": 0, "depth": 10, "scope_path": "", "children": [], @@ -75813,8 +103365,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 159, - "end_line": 159, + "start_line": 154, + "end_line": 157, "start_column": 0, "end_column": 0, "depth": 10, @@ -75828,7 +103380,7 @@ "name": "", "full_name": "", "start_line": 164, - "end_line": 164, + "end_line": 167, "start_column": 0, "end_column": 0, "depth": 10, @@ -75837,40 +103389,12 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 165, - "end_line": 170, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 168, - "end_line": 168, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", "full_name": "", "start_line": 174, - "end_line": 174, + "end_line": 177, "start_column": 0, "end_column": 0, "depth": 10, @@ -75883,8 +103407,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 175, - "end_line": 180, + "start_line": 179, + "end_line": 189, "start_column": 0, "end_column": 0, "depth": 11, @@ -75897,8 +103421,176 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 178, - "end_line": 178, + "start_line": 180, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 194, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 199, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_binary_op", + "full_name": "", + "start_line": 236, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 238, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 245, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 256, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 266, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 267, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 270, + "end_line": 270, "start_column": 0, "end_column": 0, "depth": 14, @@ -75911,8 +103603,78 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 202, - "end_line": 202, + "start_line": 276, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 277, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 280, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 287, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 299, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 330, + "end_line": 330, "start_column": 0, "end_column": 0, "depth": 10, @@ -75925,8 +103687,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 207, - "end_line": 207, + "start_line": 335, + "end_line": 335, "start_column": 0, "end_column": 0, "depth": 10, @@ -75939,8 +103701,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 212, - "end_line": 212, + "start_line": 340, + "end_line": 340, "start_column": 0, "end_column": 0, "depth": 10, @@ -75953,8 +103715,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 217, - "end_line": 217, + "start_line": 345, + "end_line": 345, "start_column": 0, "end_column": 0, "depth": 10, @@ -75967,8 +103729,8 @@ "type": "function", "name": "execute_unary_op", "full_name": "", - "start_line": 224, - "end_line": 252, + "start_line": 352, + "end_line": 380, "start_column": 0, "end_column": 0, "depth": 3, @@ -75981,8 +103743,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 226, - "end_line": 226, + "start_line": 354, + "end_line": 354, "start_column": 0, "end_column": 0, "depth": 5, @@ -75995,8 +103757,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 231, - "end_line": 239, + "start_line": 359, + "end_line": 367, "start_column": 0, "end_column": 0, "depth": 11, @@ -76009,8 +103771,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 233, - "end_line": 239, + "start_line": 361, + "end_line": 367, "start_column": 0, "end_column": 0, "depth": 13, @@ -76023,8 +103785,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 243, - "end_line": 249, + "start_line": 371, + "end_line": 377, "start_column": 0, "end_column": 0, "depth": 11, @@ -76037,8 +103799,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 247, - "end_line": 247, + "start_line": 375, + "end_line": 375, "start_column": 0, "end_column": 0, "depth": 14, @@ -76051,8 +103813,8 @@ "type": "function", "name": "execute_method_call", "full_name": "", - "start_line": 255, - "end_line": 635, + "start_line": 383, + "end_line": 898, "start_column": 0, "end_column": 0, "depth": 3, @@ -76065,8 +103827,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 259, - "end_line": 326, + "start_line": 387, + "end_line": 492, "start_column": 0, "end_column": 0, "depth": 6, @@ -76079,8 +103841,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 261, - "end_line": 272, + "start_line": 389, + "end_line": 400, "start_column": 0, "end_column": 0, "depth": 8, @@ -76093,8 +103855,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 262, - "end_line": 262, + "start_line": 390, + "end_line": 390, "start_column": 0, "end_column": 0, "depth": 10, @@ -76107,8 +103869,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 263, - "end_line": 271, + "start_line": 391, + "end_line": 399, "start_column": 0, "end_column": 0, "depth": 11, @@ -76121,8 +103883,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 264, - "end_line": 268, + "start_line": 392, + "end_line": 396, "start_column": 0, "end_column": 0, "depth": 14, @@ -76135,8 +103897,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 274, - "end_line": 325, + "start_line": 402, + "end_line": 453, "start_column": 0, "end_column": 0, "depth": 9, @@ -76149,8 +103911,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 276, - "end_line": 324, + "start_line": 404, + "end_line": 452, "start_column": 0, "end_column": 0, "depth": 12, @@ -76163,8 +103925,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 278, - "end_line": 278, + "start_line": 406, + "end_line": 406, "start_column": 0, "end_column": 0, "depth": 14, @@ -76177,8 +103939,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 279, - "end_line": 281, + "start_line": 407, + "end_line": 409, "start_column": 0, "end_column": 0, "depth": 15, @@ -76191,8 +103953,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 284, - "end_line": 289, + "start_line": 412, + "end_line": 417, "start_column": 0, "end_column": 0, "depth": 15, @@ -76205,8 +103967,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 292, - "end_line": 292, + "start_line": 420, + "end_line": 420, "start_column": 0, "end_column": 0, "depth": 14, @@ -76219,8 +103981,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 296, - "end_line": 296, + "start_line": 424, + "end_line": 424, "start_column": 0, "end_column": 0, "depth": 14, @@ -76233,8 +103995,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 300, - "end_line": 302, + "start_line": 428, + "end_line": 430, "start_column": 0, "end_column": 0, "depth": 15, @@ -76247,8 +104009,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 305, - "end_line": 305, + "start_line": 433, + "end_line": 433, "start_column": 0, "end_column": 0, "depth": 14, @@ -76261,8 +104023,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 306, - "end_line": 315, + "start_line": 434, + "end_line": 443, "start_column": 0, "end_column": 0, "depth": 15, @@ -76275,8 +104037,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 310, - "end_line": 314, + "start_line": 438, + "end_line": 442, "start_column": 0, "end_column": 0, "depth": 18, @@ -76289,8 +104051,134 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 329, - "end_line": 329, + "start_line": 456, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 456, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 457, + "end_line": 472, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 458, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 459, + "end_line": 464, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 478, + "end_line": 491, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 482, + "end_line": 482, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 483, + "end_line": 485, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 488, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 495, + "end_line": 495, "start_column": 0, "end_column": 0, "depth": 5, @@ -76303,8 +104191,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 332, - "end_line": 334, + "start_line": 498, + "end_line": 500, "start_column": 0, "end_column": 0, "depth": 6, @@ -76317,8 +104205,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 337, - "end_line": 339, + "start_line": 503, + "end_line": 505, "start_column": 0, "end_column": 0, "depth": 6, @@ -76331,8 +104219,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 342, - "end_line": 344, + "start_line": 508, + "end_line": 510, "start_column": 0, "end_column": 0, "depth": 6, @@ -76341,505 +104229,15 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 347, - "end_line": 349, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 352, - "end_line": 354, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 357, - "end_line": 359, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 362, - "end_line": 364, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 367, - "end_line": 369, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 372, - "end_line": 374, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 377, - "end_line": 379, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 382, - "end_line": 384, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 387, - "end_line": 389, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 392, - "end_line": 394, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 397, - "end_line": 399, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 402, - "end_line": 404, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 407, - "end_line": 409, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 412, - "end_line": 414, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 417, - "end_line": 419, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 422, - "end_line": 424, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 427, - "end_line": 429, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 432, - "end_line": 434, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 437, - "end_line": 439, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 442, - "end_line": 444, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 447, - "end_line": 449, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 452, - "end_line": 454, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 463, - "end_line": 465, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 469, - "end_line": 471, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 475, - "end_line": 477, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 481, - "end_line": 483, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 486, - "end_line": 488, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 491, - "end_line": 493, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 500, - "end_line": 634, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 502, - "end_line": 506, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 509, - "end_line": 570, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 511, - "end_line": 530, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", "start_line": 513, - "end_line": 529, + "end_line": 515, "start_column": 0, "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 514, - "end_line": 528, - "start_column": 0, - "end_column": 0, - "depth": 18, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 516, - "end_line": 527, - "start_column": 0, - "end_column": 0, - "depth": 21, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 517, - "end_line": 526, - "start_column": 0, - "end_column": 0, - "depth": 24, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, @@ -76850,10 +104248,38 @@ "name": "", "full_name": "", "start_line": 518, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 523, "end_line": 525, "start_column": 0, "end_column": 0, - "depth": 27, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, @@ -76867,7 +104293,7 @@ "end_line": 535, "start_column": 0, "end_column": 0, - "depth": 12, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, @@ -76878,10 +104304,10 @@ "name": "", "full_name": "", "start_line": 538, - "end_line": 562, + "end_line": 540, "start_column": 0, "end_column": 0, - "depth": 12, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, @@ -76891,53 +104317,25 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 539, - "end_line": 561, + "start_line": 543, + "end_line": 545, "start_column": 0, "end_column": 0, - "depth": 15, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 541, - "end_line": 541, - "start_column": 0, - "end_column": 0, - "depth": 17, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", "start_line": 548, - "end_line": 548, + "end_line": 550, "start_column": 0, "end_column": 0, - "depth": 17, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 549, - "end_line": 557, - "start_column": 0, - "end_column": 0, - "depth": 18, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, @@ -76948,189 +104346,7 @@ "name": "", "full_name": "", "start_line": 553, - "end_line": 556, - "start_column": 0, - "end_column": 0, - "depth": 21, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 573, - "end_line": 577, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 580, - "end_line": 629, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 582, - "end_line": 582, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 583, - "end_line": 586, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 584, - "end_line": 584, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 589, - "end_line": 594, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 597, - "end_line": 597, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 604, - "end_line": 606, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "Box", - "full_name": "", - "start_line": 609, - "end_line": 609, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 610, - "end_line": 619, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 614, - "end_line": 618, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_field_access", - "full_name": "", - "start_line": 638, - "end_line": 706, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 642, - "end_line": 647, + "end_line": 555, "start_column": 0, "end_column": 0, "depth": 6, @@ -77143,8 +104359,218 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 644, - "end_line": 646, + "start_line": 558, + "end_line": 560, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 563, + "end_line": 565, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 568, + "end_line": 570, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 573, + "end_line": 575, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 578, + "end_line": 580, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 583, + "end_line": 585, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 588, + "end_line": 590, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 593, + "end_line": 595, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 598, + "end_line": 600, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 603, + "end_line": 605, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 608, + "end_line": 610, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 613, + "end_line": 615, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 618, + "end_line": 620, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 623, + "end_line": 697, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 624, + "end_line": 624, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 629, + "end_line": 694, "start_column": 0, "end_column": 0, "depth": 9, @@ -77157,25 +104583,53 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 651, - "end_line": 651, + "start_line": 631, + "end_line": 631, "start_column": 0, "end_column": 0, - "depth": 5, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", - "start_line": 653, - "end_line": 653, + "start_line": 638, + "end_line": 644, "start_column": 0, "end_column": 0, - "depth": 5, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 652, + "end_line": 668, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 654, + "end_line": 665, + "start_column": 0, + "end_column": 0, + "depth": 25, "scope_path": "", "children": [], "attributes": {}, @@ -77186,24 +104640,10 @@ "name": "", "full_name": "", "start_line": 656, - "end_line": 705, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 658, "end_line": 662, "start_column": 0, "end_column": 0, - "depth": 9, + "depth": 28, "scope_path": "", "children": [], "attributes": {}, @@ -77213,25 +104653,11 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 665, - "end_line": 668, + "start_line": 658, + "end_line": 658, "start_column": 0, "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 671, - "end_line": 671, - "start_column": 0, - "end_column": 0, - "depth": 8, + "depth": 30, "scope_path": "", "children": [], "attributes": {}, @@ -77242,10 +104668,10 @@ "name": "", "full_name": "", "start_line": 672, - "end_line": 697, + "end_line": 683, "start_column": 0, "end_column": 0, - "depth": 9, + "depth": 22, "scope_path": "", "children": [], "attributes": {}, @@ -77255,67 +104681,11 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 673, - "end_line": 696, + "start_line": 674, + "end_line": 680, "start_column": 0, "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 677, - "end_line": 694, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 687, - "end_line": 691, - "start_column": 0, - "end_column": 0, - "depth": 23, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 688, - "end_line": 690, - "start_column": 0, - "end_column": 0, - "depth": 26, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_static_field_access", - "full_name": "", - "start_line": 709, - "end_line": 747, - "start_column": 0, - "end_column": 0, - "depth": 3, + "depth": 25, "scope_path": "", "children": [], "attributes": {}, @@ -77325,95 +104695,81 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 715, - "end_line": 718, + "start_line": 676, + "end_line": 676, "start_column": 0, "end_column": 0, - "depth": 5, + "depth": 27, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", - "start_line": 720, + "start_line": 700, + "end_line": 702, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 705, + "end_line": 707, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 710, + "end_line": 712, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 721, "end_line": 723, "start_column": 0, "end_column": 0, - "depth": 5, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", - "start_line": 725, + "start_line": 727, "end_line": 729, "start_column": 0, "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 731, - "end_line": 734, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 736, - "end_line": 740, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_await", - "full_name": "", - "start_line": 751, - "end_line": 762, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 752, - "end_line": 752, - "start_column": 0, - "end_column": 0, - "depth": 5, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, @@ -77423,8 +104779,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 755, - "end_line": 761, + "start_line": 733, + "end_line": 735, "start_column": 0, "end_column": 0, "depth": 6, @@ -77433,166 +104789,12 @@ "attributes": {}, "source_text": null }, - { - "type": "function", - "name": "get_object_id", - "full_name": "", - "start_line": 765, - "end_line": 781, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "hash_string", - "full_name": "", - "start_line": 784, - "end_line": 790, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 785, - "end_line": 785, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 786, - "end_line": 788, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_from_call", - "full_name": "", - "start_line": 817, - "end_line": 946, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 821, - "end_line": 824, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 826, - "end_line": 829, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 832, - "end_line": 832, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 833, - "end_line": 833, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 835, - "end_line": 838, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 841, - "end_line": 842, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 844, - "end_line": 849, + "start_line": 739, + "end_line": 741, "start_column": 0, "end_column": 0, "depth": 6, @@ -77601,40 +104803,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 852, - "end_line": 859, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 864, - "end_line": 864, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 866, - "end_line": 870, + "start_line": 744, + "end_line": 746, "start_column": 0, "end_column": 0, "depth": 6, @@ -77643,26 +104817,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 873, - "end_line": 877, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 882, - "end_line": 884, + "start_line": 749, + "end_line": 751, "start_column": 0, "end_column": 0, "depth": 6, @@ -77672,38 +104832,10 @@ "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", - "start_line": 887, - "end_line": 891, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 894, - "end_line": 894, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 895, + "start_line": 758, "end_line": 897, "start_column": 0, "end_column": 0, @@ -77717,8 +104849,400 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 900, - "end_line": 945, + "start_line": 760, + "end_line": 764, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 767, + "end_line": 833, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 769, + "end_line": 788, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 771, + "end_line": 787, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 772, + "end_line": 786, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 774, + "end_line": 785, + "start_column": 0, + "end_column": 0, + "depth": 21, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 775, + "end_line": 784, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 776, + "end_line": 783, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 791, + "end_line": 793, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 796, + "end_line": 820, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 797, + "end_line": 819, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 799, + "end_line": 799, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 806, + "end_line": 806, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 807, + "end_line": 815, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 811, + "end_line": 814, + "start_column": 0, + "end_column": 0, + "depth": 21, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 823, + "end_line": 823, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 836, + "end_line": 840, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 843, + "end_line": 892, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 845, + "end_line": 845, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 846, + "end_line": 849, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 847, + "end_line": 847, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 852, + "end_line": 857, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 860, + "end_line": 860, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 867, + "end_line": 869, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 872, + "end_line": 872, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 873, + "end_line": 882, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 877, + "end_line": 881, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_field_access", + "full_name": "", + "start_line": 901, + "end_line": 972, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 905, + "end_line": 911, "start_column": 0, "end_column": 0, "depth": 6, @@ -77731,38 +105255,10 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 902, - "end_line": 907, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 910, + "start_line": 907, "end_line": 910, "start_column": 0, "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 917, - "end_line": 919, - "start_column": 0, - "end_column": 0, "depth": 9, "scope_path": "", "children": [], @@ -77771,27 +105267,41 @@ }, { "type": "variable", - "name": "Box", + "name": "", "full_name": "", - "start_line": 922, - "end_line": 922, + "start_line": 908, + "end_line": 908, "start_column": 0, "end_column": 0, - "depth": 8, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "for_loop", + "type": "variable", "name": "", "full_name": "", - "start_line": 923, - "end_line": 932, + "start_line": 915, + "end_line": 915, "start_column": 0, "end_column": 0, - "depth": 9, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 917, + "end_line": 917, + "start_column": 0, + "end_column": 0, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -77801,105 +105311,7 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 927, - "end_line": 931, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_from_parent_constructor", - "full_name": "", - "start_line": 949, - "end_line": 1018, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 955, - "end_line": 955, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 956, - "end_line": 956, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 957, - "end_line": 957, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 959, - "end_line": 965, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 968, - "end_line": 968, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 969, + "start_line": 920, "end_line": 971, "start_column": 0, "end_column": 0, @@ -77913,22 +105325,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 974, - "end_line": 1017, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 976, - "end_line": 981, + "start_line": 922, + "end_line": 926, "start_column": 0, "end_column": 0, "depth": 9, @@ -77941,8 +105339,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 984, - "end_line": 984, + "start_line": 929, + "end_line": 932, "start_column": 0, "end_column": 0, "depth": 8, @@ -77951,26 +105349,12 @@ "attributes": {}, "source_text": null }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 991, - "end_line": 993, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", - "name": "Box", + "name": "", "full_name": "", - "start_line": 996, - "end_line": 996, + "start_line": 937, + "end_line": 937, "start_column": 0, "end_column": 0, "depth": 8, @@ -77980,11 +105364,11 @@ "source_text": null }, { - "type": "for_loop", + "type": "if_statement", "name": "", "full_name": "", - "start_line": 997, - "end_line": 1006, + "start_line": 938, + "end_line": 963, "start_column": 0, "end_column": 0, "depth": 9, @@ -77997,8 +105381,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1001, - "end_line": 1005, + "start_line": 939, + "end_line": 962, "start_column": 0, "end_column": 0, "depth": 12, @@ -78008,11 +105392,53 @@ "source_text": null }, { - "type": "function", - "name": "execute_builtin_box_method", + "type": "if_statement", + "name": "", "full_name": "", - "start_line": 1021, - "end_line": 1087, + "start_line": 943, + "end_line": 960, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 953, + "end_line": 957, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 954, + "end_line": 956, + "start_column": 0, + "end_column": 0, + "depth": 26, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_static_field_access", + "full_name": "", + "start_line": 975, + "end_line": 1016, "start_column": 0, "end_column": 0, "depth": 3, @@ -78025,11 +105451,151 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1030, + "start_line": 981, + "end_line": 984, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 986, + "end_line": 989, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 991, + "end_line": 995, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 997, + "end_line": 1000, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1002, + "end_line": 1006, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1009, + "end_line": 1012, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_await", + "full_name": "", + "start_line": 1020, + "end_line": 1031, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1021, + "end_line": 1021, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1024, "end_line": 1030, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_object_id", + "full_name": "", + "start_line": 1034, + "end_line": 1050, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "hash_string", + "full_name": "", + "start_line": 1053, + "end_line": 1059, + "start_column": 0, + "end_column": 0, + "depth": 3, "scope_path": "", "children": [], "attributes": {}, @@ -78039,8 +105605,610 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1035, - "end_line": 1035, + "start_line": 1054, + "end_line": 1054, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1055, + "end_line": 1057, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_from_call", + "full_name": "", + "start_line": 1086, + "end_line": 1216, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1090, + "end_line": 1093, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1095, + "end_line": 1098, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1101, + "end_line": 1101, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1102, + "end_line": 1102, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1104, + "end_line": 1107, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1110, + "end_line": 1111, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1113, + "end_line": 1118, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 1121, + "end_line": 1121, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1123, + "end_line": 1123, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1128, + "end_line": 1130, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1136, + "end_line": 1140, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1143, + "end_line": 1147, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1152, + "end_line": 1154, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1157, + "end_line": 1161, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1164, + "end_line": 1164, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1165, + "end_line": 1167, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1170, + "end_line": 1215, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1172, + "end_line": 1177, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1180, + "end_line": 1180, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1187, + "end_line": 1189, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 1192, + "end_line": 1192, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1193, + "end_line": 1202, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1197, + "end_line": 1201, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_from_parent_constructor", + "full_name": "", + "start_line": 1219, + "end_line": 1290, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1225, + "end_line": 1225, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1226, + "end_line": 1226, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1227, + "end_line": 1227, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1228, + "end_line": 1228, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1230, + "end_line": 1237, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1240, + "end_line": 1240, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1241, + "end_line": 1243, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1246, + "end_line": 1289, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1248, + "end_line": 1253, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1256, + "end_line": 1256, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1263, + "end_line": 1265, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 1268, + "end_line": 1268, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1269, + "end_line": 1278, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1273, + "end_line": 1277, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_builtin_box_method", + "full_name": "", + "start_line": 1293, + "end_line": 1380, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1297, + "end_line": 1299, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1307, + "end_line": 1307, "start_column": 0, "end_column": 0, "depth": 10, @@ -78053,8 +106221,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1039, - "end_line": 1039, + "start_line": 1312, + "end_line": 1312, "start_column": 0, "end_column": 0, "depth": 10, @@ -78067,8 +106235,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1043, - "end_line": 1043, + "start_line": 1316, + "end_line": 1316, "start_column": 0, "end_column": 0, "depth": 10, @@ -78081,8 +106249,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1047, - "end_line": 1047, + "start_line": 1320, + "end_line": 1320, "start_column": 0, "end_column": 0, "depth": 10, @@ -78095,8 +106263,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1058, - "end_line": 1058, + "start_line": 1324, + "end_line": 1324, "start_column": 0, "end_column": 0, "depth": 10, @@ -78109,8 +106277,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1062, - "end_line": 1062, + "start_line": 1335, + "end_line": 1335, "start_column": 0, "end_column": 0, "depth": 10, @@ -78123,8 +106291,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1066, - "end_line": 1066, + "start_line": 1339, + "end_line": 1339, "start_column": 0, "end_column": 0, "depth": 10, @@ -78137,8 +106305,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1070, - "end_line": 1070, + "start_line": 1343, + "end_line": 1343, "start_column": 0, "end_column": 0, "depth": 10, @@ -78151,8 +106319,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1074, - "end_line": 1074, + "start_line": 1347, + "end_line": 1347, "start_column": 0, "end_column": 0, "depth": 10, @@ -78165,8 +106333,274 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1078, - "end_line": 1078, + "start_line": 1351, + "end_line": 1351, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1355, + "end_line": 1355, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1359, + "end_line": 1359, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1363, + "end_line": 1363, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1367, + "end_line": 1367, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1371, + "end_line": 1371, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_builtin_birth_method", + "full_name": "", + "start_line": 1384, + "end_line": 1457, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1388, + "end_line": 1388, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1389, + "end_line": 1391, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1396, + "end_line": 1400, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1402, + "end_line": 1402, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1404, + "end_line": 1404, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1408, + "end_line": 1412, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1414, + "end_line": 1420, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1414, + "end_line": 1420, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1422, + "end_line": 1422, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1428, + "end_line": 1432, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1434, + "end_line": 1434, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1440, + "end_line": 1444, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1446, + "end_line": 1446, "start_column": 0, "end_column": 0, "depth": 10, @@ -78180,24 +106614,24 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 188, - "max_depth": 27, + "total_nodes": 261, + "max_depth": 30, "node_type_counts": { - "variable": 74, - "if_statement": 80, - "for_loop": 14, - "import": 6, "class": 1, + "if_statement": 116, + "for_loop": 16, + "import": 8, "file_root": 1, - "function": 12 + "function": 18, + "variable": 101 }, "classes": 1, - "functions": 12, + "functions": 18, "methods": 0, - "variables": 74, - "control_structures": 94 + "variables": 101, + "control_structures": 132 }, - "generated_at": "2025-08-13T11:36:21.762373630Z" + "generated_at": "2025-08-15T16:17:53.938251290Z" }, { "file_info": { @@ -78209,7 +106643,7 @@ "comment_lines": 21, "empty_lines": 13, "code_ratio": 0.6494845360824743, - "analyzed_at": "2025-08-13T11:36:21.762735201Z", + "analyzed_at": "2025-08-15T16:17:53.938020124Z", "metadata": {} }, "language": "rust", @@ -78247,8 +106681,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } }, { @@ -78610,13 +107044,13 @@ "total_nodes": 20, "max_depth": 12, "node_type_counts": { - "import": 1, "variable": 6, - "file_root": 1, - "function": 2, - "if_statement": 6, + "for_loop": 3, "class": 1, - "for_loop": 3 + "file_root": 1, + "import": 1, + "function": 2, + "if_statement": 6 }, "classes": 1, "functions": 2, @@ -78624,7 +107058,7 @@ "variables": 6, "control_structures": 9 }, - "generated_at": "2025-08-13T11:36:21.762742321Z" + "generated_at": "2025-08-15T16:17:53.938028577Z" }, { "file_info": { @@ -78636,7 +107070,7 @@ "comment_lines": 30, "empty_lines": 19, "code_ratio": 0.5701754385964912, - "analyzed_at": "2025-08-13T11:36:21.762909548Z", + "analyzed_at": "2025-08-15T16:17:53.936040753Z", "metadata": {} }, "language": "rust", @@ -78755,8 +107189,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { @@ -78797,7 +107231,7 @@ }, { "type": "rust_use", - "module_path": "crate::box_trait::FutureBox", + "module_path": "crate::boxes::FutureBox", "imported_names": [], "alias": null, "line_number": 79, @@ -79203,11 +107637,11 @@ "max_depth": 15, "node_type_counts": { "class": 1, - "variable": 15, - "if_statement": 2, "import": 4, + "function": 3, "file_root": 1, - "function": 3 + "variable": 15, + "if_statement": 2 }, "classes": 1, "functions": 3, @@ -79215,7 +107649,7 @@ "variables": 15, "control_structures": 2 }, - "generated_at": "2025-08-13T11:36:21.762918209Z" + "generated_at": "2025-08-15T16:17:53.936048184Z" }, { "file_info": { @@ -79227,7 +107661,7 @@ "comment_lines": 37, "empty_lines": 14, "code_ratio": 0.8138686131386861, - "analyzed_at": "2025-08-13T11:36:21.763532365Z", + "analyzed_at": "2025-08-15T16:17:53.937980761Z", "metadata": {} }, "language": "rust", @@ -79290,8 +107724,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } } ], @@ -79795,11 +108229,11 @@ "node_type_counts": { "import": 1, "class": 1, - "function": 2, "variable": 2, - "file_root": 1, "for_loop": 2, - "if_statement": 24 + "if_statement": 24, + "file_root": 1, + "function": 2 }, "classes": 1, "functions": 2, @@ -79807,7 +108241,7 @@ "variables": 2, "control_structures": 26 }, - "generated_at": "2025-08-13T11:36:21.763548752Z" + "generated_at": "2025-08-15T16:17:53.938008785Z" }, { "file_info": { @@ -79819,7 +108253,7 @@ "comment_lines": 17, "empty_lines": 5, "code_ratio": 0.9566929133858267, - "analyzed_at": "2025-08-13T11:36:21.767139128Z", + "analyzed_at": "2025-08-15T16:17:53.940017903Z", "metadata": {} }, "language": "rust", @@ -79882,8 +108316,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(in crate::interpreter)", - "type": "function" + "type": "function", + "modifiers": "pub(in crate::interpreter)" } }, { @@ -81206,10 +109640,10 @@ "max_depth": 17, "node_type_counts": { "file_root": 1, - "class": 1, "if_statement": 59, - "function": 4, "variable": 19, + "class": 1, + "function": 4, "import": 3 }, "classes": 1, @@ -81218,7 +109652,7 @@ "variables": 19, "control_structures": 59 }, - "generated_at": "2025-08-13T11:36:21.767181923Z" + "generated_at": "2025-08-15T16:17:53.940047540Z" }, { "file_info": { @@ -81230,7 +109664,7 @@ "comment_lines": 14, "empty_lines": 4, "code_ratio": 0.9405940594059405, - "analyzed_at": "2025-08-13T11:36:21.767276313Z", + "analyzed_at": "2025-08-15T16:17:53.942774259Z", "metadata": {} }, "language": "rust", @@ -81269,8 +109703,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(in crate::interpreter)" + "modifiers": "pub(in crate::interpreter)", + "type": "function" } }, { @@ -82162,12 +110596,12 @@ "total_nodes": 58, "max_depth": 11, "node_type_counts": { + "variable": 20, "class": 1, + "if_statement": 31, "file_root": 1, "import": 3, - "function": 2, - "if_statement": 31, - "variable": 20 + "function": 2 }, "classes": 1, "functions": 2, @@ -82175,19 +110609,19 @@ "variables": 20, "control_structures": 31 }, - "generated_at": "2025-08-13T11:36:21.767302115Z" + "generated_at": "2025-08-15T16:17:53.942793702Z" }, { "file_info": { "name": "data_methods.rs", "path": "src/interpreter/methods/data_methods.rs", "size_bytes": 0, - "total_lines": 204, - "code_lines": 189, - "comment_lines": 11, + "total_lines": 231, + "code_lines": 215, + "comment_lines": 12, "empty_lines": 4, - "code_ratio": 0.9264705882352942, - "analyzed_at": "2025-08-13T11:36:21.767366961Z", + "code_ratio": 0.9307359307359307, + "analyzed_at": "2025-08-15T16:17:53.940047901Z", "metadata": {} }, "language": "rust", @@ -82196,7 +110630,7 @@ "name": "NyashInterpreter", "parent_class": null, "start_line": 14, - "end_line": 204, + "end_line": 231, "methods": [], "properties": [], "member_variables": [], @@ -82209,7 +110643,7 @@ { "name": "execute_buffer_method", "start_line": 16, - "end_line": 84, + "end_line": 111, "parameters": [ "&mut self", "buffer_box: &BufferBox", @@ -82226,14 +110660,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(in crate::interpreter)" + "modifiers": "pub(in crate::interpreter)", + "type": "function" } }, { "name": "execute_json_method", - "start_line": 87, - "end_line": 147, + "start_line": 114, + "end_line": 174, "parameters": [ "&mut self", "json_box: &JSONBox", @@ -82256,8 +110690,8 @@ }, { "name": "execute_regex_method", - "start_line": 150, - "end_line": 203, + "start_line": 177, + "end_line": 230, "parameters": [ "&mut self", "regex_box: &RegexBox", @@ -82384,7 +110818,7 @@ "name": "NyashInterpreter", "full_name": "", "start_line": 14, - "end_line": 204, + "end_line": 231, "start_column": 0, "end_column": 0, "depth": 1, @@ -82398,7 +110832,7 @@ "name": "execute_buffer_method", "full_name": "", "start_line": 16, - "end_line": 84, + "end_line": 111, "start_column": 0, "end_column": 0, "depth": 3, @@ -82576,14 +111010,28 @@ "source_text": null }, { - "type": "function", - "name": "execute_json_method", + "type": "if_statement", + "name": "", "full_name": "", - "start_line": 87, - "end_line": 147, + "start_line": 82, + "end_line": 86, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 10, "scope_path": "", "children": [], "attributes": {}, @@ -82632,28 +111080,14 @@ "source_text": null }, { - "type": "if_statement", - "name": "", + "type": "function", + "name": "execute_json_method", "full_name": "", - "start_line": 108, - "end_line": 112, + "start_line": 114, + "end_line": 174, "start_column": 0, "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 113, - "end_line": 113, - "start_column": 0, - "end_column": 0, - "depth": 10, + "depth": 3, "scope_path": "", "children": [], "attributes": {}, @@ -82663,25 +111097,11 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 117, - "end_line": 121, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 122, + "start_line": 118, "end_line": 122, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, @@ -82715,12 +111135,26 @@ "attributes": {}, "source_text": null }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", "full_name": "", - "start_line": 132, - "end_line": 132, + "start_line": 140, + "end_line": 140, "start_column": 0, "end_column": 0, "depth": 10, @@ -82733,8 +111167,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 136, - "end_line": 140, + "start_line": 144, + "end_line": 148, "start_column": 0, "end_column": 0, "depth": 11, @@ -82744,14 +111178,28 @@ "source_text": null }, { - "type": "function", - "name": "execute_regex_method", + "type": "variable", + "name": "", "full_name": "", - "start_line": 150, - "end_line": 203, + "start_line": 149, + "end_line": 149, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 10, "scope_path": "", "children": [], "attributes": {}, @@ -82800,42 +111248,14 @@ "source_text": null }, { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 168, - "end_line": 168, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 172, - "end_line": 176, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", + "type": "function", + "name": "execute_regex_method", "full_name": "", "start_line": 177, - "end_line": 177, + "end_line": 230, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 3, "scope_path": "", "children": [], "attributes": {}, @@ -82869,26 +111289,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 187, - "end_line": 187, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 191, - "end_line": 195, + "start_line": 190, + "end_line": 194, "start_column": 0, "end_column": 0, "depth": 11, @@ -82901,8 +111307,106 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 196, - "end_line": 196, + "start_line": 195, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 199, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 223, "start_column": 0, "end_column": 0, "depth": 10, @@ -82916,23 +111420,838 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 42, + "total_nodes": 47, "max_depth": 11, "node_type_counts": { - "file_root": 1, - "if_statement": 18, - "variable": 16, "class": 1, + "if_statement": 21, "function": 3, + "file_root": 1, + "variable": 18, "import": 3 }, "classes": 1, "functions": 3, "methods": 0, - "variables": 16, - "control_structures": 18 + "variables": 18, + "control_structures": 21 }, - "generated_at": "2025-08-13T11:36:21.767379735Z" + "generated_at": "2025-08-15T16:17:53.940062494Z" + }, + { + "file_info": { + "name": "http_methods.rs", + "path": "src/interpreter/methods/http_methods.rs", + "size_bytes": 0, + "total_lines": 287, + "code_lines": 250, + "comment_lines": 9, + "empty_lines": 28, + "code_ratio": 0.8710801393728222, + "analyzed_at": "2025-08-15T16:17:53.943424827Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 10, + "end_line": 287, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_socket_method", + "start_line": 12, + "end_line": 129, + "parameters": [ + "&mut self", + "socket_box: &SocketBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + }, + { + "name": "execute_http_server_method", + "start_line": 132, + "end_line": 202, + "parameters": [ + "&mut self", + "server_box: &HTTPServerBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + }, + { + "name": "execute_http_request_method", + "start_line": 205, + "end_line": 243, + "parameters": [ + "&mut self", + "request_box: &HTTPRequestBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(in crate::interpreter)", + "type": "function" + } + }, + { + "name": "execute_http_response_method", + "start_line": 246, + "end_line": 286, + "parameters": [ + "&mut self", + "response_box: &HTTPResponseBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(in crate::interpreter)", + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::super::*", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{SocketBox, HTTPServerBox, HTTPRequestBox, HTTPResponseBox}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 4, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 10, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_socket_method", + "full_name": "", + "start_line": 12, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 26, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 32, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 38, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 117, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_http_server_method", + "full_name": "", + "start_line": 132, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 157, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 170, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 190, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_http_request_method", + "full_name": "", + "start_line": 205, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_http_response_method", + "full_name": "", + "start_line": 246, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 254, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 265, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 274, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 45, + "max_depth": 11, + "node_type_counts": { + "if_statement": 23, + "variable": 14, + "class": 1, + "file_root": 1, + "import": 2, + "function": 4 + }, + "classes": 1, + "functions": 4, + "methods": 0, + "variables": 14, + "control_structures": 23 + }, + "generated_at": "2025-08-15T16:17:53.943442765Z" }, { "file_info": { @@ -82944,7 +112263,7 @@ "comment_lines": 12, "empty_lines": 3, "code_ratio": 0.8611111111111112, - "analyzed_at": "2025-08-13T11:36:21.767300255Z", + "analyzed_at": "2025-08-15T16:17:53.942733147Z", "metadata": {} }, "language": "rust", @@ -83316,12 +112635,12 @@ "total_nodes": 18, "max_depth": 11, "node_type_counts": { - "variable": 2, - "if_statement": 9, + "import": 3, "class": 1, "function": 2, - "import": 3, - "file_root": 1 + "if_statement": 9, + "file_root": 1, + "variable": 2 }, "classes": 1, "functions": 2, @@ -83329,33 +112648,25 @@ "variables": 2, "control_structures": 9 }, - "generated_at": "2025-08-13T11:36:21.767307269Z" + "generated_at": "2025-08-15T16:17:53.942740642Z" }, { "file_info": { "name": "mod.rs", "path": "src/interpreter/methods/mod.rs", "size_bytes": 0, - "total_lines": 31, - "code_lines": 11, + "total_lines": 33, + "code_lines": 13, "comment_lines": 18, "empty_lines": 2, - "code_ratio": 0.3548387096774194, - "analyzed_at": "2025-08-13T11:36:21.767203077Z", + "code_ratio": 0.3939393939393939, + "analyzed_at": "2025-08-15T16:17:53.941231839Z", "metadata": {} }, "language": "rust", "classes": [], "functions": [], "imports": [ - { - "type": "rust_use", - "module_path": "", - "imported_names": [], - "alias": null, - "line_number": 27, - "metadata": {} - }, { "type": "rust_use", "module_path": "", @@ -83387,6 +112698,22 @@ "alias": null, "line_number": 31, "metadata": {} + }, + { + "type": "rust_use", + "module_path": "", + "imported_names": [], + "alias": null, + "line_number": 32, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "", + "imported_names": [], + "alias": null, + "line_number": 33, + "metadata": {} } ], "exports": [], @@ -83404,7 +112731,7 @@ "stats": { "class_count": 0, "function_count": 0, - "import_count": 5, + "import_count": 6, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -83421,20 +112748,6 @@ "depth": 0, "scope_path": "", "children": [ - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 27, - "end_line": 27, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "import", "name": "", @@ -83490,17 +112803,45 @@ "children": [], "attributes": {}, "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 32, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 33, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null } ], "attributes": {}, "source_text": null }, "ast_statistics": { - "total_nodes": 6, + "total_nodes": 7, "max_depth": 1, "node_type_counts": { "file_root": 1, - "import": 5 + "import": 6 }, "classes": 0, "functions": 0, @@ -83508,7 +112849,7 @@ "variables": 0, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.767207253Z" + "generated_at": "2025-08-15T16:17:53.941234947Z" }, { "file_info": { @@ -83520,7 +112861,7 @@ "comment_lines": 9, "empty_lines": 3, "code_ratio": 0.9032258064516129, - "analyzed_at": "2025-08-13T11:36:21.770743664Z", + "analyzed_at": "2025-08-15T16:17:53.941482749Z", "metadata": {} }, "language": "rust", @@ -83583,8 +112924,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(in crate::interpreter)" + "modifiers": "pub(in crate::interpreter)", + "type": "function" } } ], @@ -84032,12 +113373,12 @@ "total_nodes": 28, "max_depth": 11, "node_type_counts": { - "variable": 11, - "file_root": 1, "class": 1, - "import": 3, + "if_statement": 10, + "file_root": 1, "function": 2, - "if_statement": 10 + "variable": 11, + "import": 3 }, "classes": 1, "functions": 2, @@ -84045,19 +113386,19 @@ "variables": 11, "control_structures": 10 }, - "generated_at": "2025-08-13T11:36:21.770752676Z" + "generated_at": "2025-08-15T16:17:53.941492008Z" }, { "file_info": { "name": "p2p_methods.rs", "path": "src/interpreter/methods/p2p_methods.rs", "size_bytes": 0, - "total_lines": 119, - "code_lines": 87, + "total_lines": 114, + "code_lines": 83, "comment_lines": 16, - "empty_lines": 16, - "code_ratio": 0.7310924369747899, - "analyzed_at": "2025-08-13T11:36:21.767550651Z", + "empty_lines": 15, + "code_ratio": 0.7280701754385965, + "analyzed_at": "2025-08-15T16:17:53.941449294Z", "metadata": {} }, "language": "rust", @@ -84066,7 +113407,7 @@ "name": "NyashInterpreter", "parent_class": null, "start_line": 13, - "end_line": 119, + "end_line": 114, "methods": [], "properties": [], "member_variables": [], @@ -84079,7 +113420,7 @@ { "name": "execute_intent_box_method", "start_line": 15, - "end_line": 46, + "end_line": 41, "parameters": [ "&mut self", "intent_box: &IntentBox", @@ -84099,24 +113440,6 @@ "type": "function", "modifiers": "pub(in crate::interpreter)" } - }, - { - "name": "closure", - "start_line": 21, - "end_line": 23, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } } ], "imports": [ @@ -84183,7 +113506,7 @@ "metadata": {}, "stats": { "class_count": 1, - "function_count": 2, + "function_count": 1, "import_count": 6, "export_count": 0, "unique_calls": 0, @@ -84290,7 +113613,7 @@ "name": "NyashInterpreter", "full_name": "", "start_line": 13, - "end_line": 119, + "end_line": 114, "start_column": 0, "end_column": 0, "depth": 1, @@ -84304,7 +113627,7 @@ "name": "execute_intent_box_method", "full_name": "", "start_line": 15, - "end_line": 46, + "end_line": 41, "start_column": 0, "end_column": 0, "depth": 3, @@ -84312,68 +113635,39 @@ "children": [], "attributes": {}, "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 21, - "end_line": 23, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 33, - "end_line": 33, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null } ], "attributes": {}, "source_text": null }, "ast_statistics": { - "total_nodes": 11, - "max_depth": 10, + "total_nodes": 9, + "max_depth": 3, "node_type_counts": { - "function": 1, - "class": 1, "file_root": 1, - "import": 6, - "variable": 2 + "class": 1, + "function": 1, + "import": 6 }, "classes": 1, "functions": 1, "methods": 0, - "variables": 2, + "variables": 0, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.767559163Z" + "generated_at": "2025-08-15T16:17:53.941458488Z" }, { "file_info": { "name": "mod.rs", "path": "src/interpreter/mod.rs", "size_bytes": 0, - "total_lines": 111, - "code_lines": 81, - "comment_lines": 18, - "empty_lines": 12, - "code_ratio": 0.7297297297297297, - "analyzed_at": "2025-08-13T11:36:21.763538501Z", + "total_lines": 115, + "code_lines": 83, + "comment_lines": 19, + "empty_lines": 13, + "code_ratio": 0.7217391304347827, + "analyzed_at": "2025-08-15T16:17:53.937904262Z", "metadata": {} }, "language": "rust", @@ -84381,34 +113675,34 @@ { "name": "ControlFlow", "parent_class": null, - "start_line": 49, - "end_line": 54, + "start_line": 50, + "end_line": 55, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "enum" + "type": "enum", + "modifiers": "pub" } }, { "name": "ConstructorContext", "parent_class": null, - "start_line": 58, - "end_line": 61, + "start_line": 59, + "end_line": 62, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { "name": "BoxDeclaration", "parent_class": null, - "start_line": 65, - "end_line": 76, + "start_line": 66, + "end_line": 77, "methods": [], "properties": [], "member_variables": [], @@ -84420,8 +113714,8 @@ { "name": "StaticBoxDefinition", "parent_class": null, - "start_line": 80, - "end_line": 92, + "start_line": 81, + "end_line": 93, "methods": [], "properties": [], "member_variables": [], @@ -84433,8 +113727,8 @@ { "name": "StaticBoxState", "parent_class": null, - "start_line": 96, - "end_line": 100, + "start_line": 97, + "end_line": 101, "methods": [], "properties": [], "member_variables": [], @@ -84446,14 +113740,14 @@ { "name": "FunctionDeclaration", "parent_class": null, - "start_line": 104, - "end_line": 108, + "start_line": 105, + "end_line": 109, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } } ], @@ -84469,7 +113763,7 @@ }, { "type": "rust_use", - "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox, AddBox, SubtractBox, MultiplyBox, DivideBox, CompareBox, ArrayBox, FileBox, ResultBox, ErrorBox, FutureBox, BoxCore}", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox, AddBox, SubtractBox, MultiplyBox, DivideBox, ModuloBox, CompareBox, ArrayBox, FileBox, ResultBox, ErrorBox, BoxCore}", "imported_names": [], "alias": null, "line_number": 10, @@ -84477,7 +113771,7 @@ }, { "type": "rust_use", - "module_path": "crate::instance::InstanceBox", + "module_path": "crate::boxes::FutureBox", "imported_names": [], "alias": null, "line_number": 11, @@ -84485,7 +113779,7 @@ }, { "type": "rust_use", - "module_path": "crate::channel_box::ChannelBox", + "module_path": "crate::instance::InstanceBox", "imported_names": [], "alias": null, "line_number": 12, @@ -84493,7 +113787,7 @@ }, { "type": "rust_use", - "module_path": "crate::boxes::math_box::{MathBox, FloatBox, RangeBox}", + "module_path": "crate::channel_box::ChannelBox", "imported_names": [], "alias": null, "line_number": 13, @@ -84501,7 +113795,7 @@ }, { "type": "rust_use", - "module_path": "crate::boxes::time_box::{TimeBox, DateTimeBox, TimerBox}", + "module_path": "crate::boxes::math_box::{MathBox, FloatBox, RangeBox}", "imported_names": [], "alias": null, "line_number": 14, @@ -84509,7 +113803,7 @@ }, { "type": "rust_use", - "module_path": "crate::boxes::map_box::MapBox", + "module_path": "crate::boxes::time_box::{TimeBox, DateTimeBox, TimerBox}", "imported_names": [], "alias": null, "line_number": 15, @@ -84517,7 +113811,7 @@ }, { "type": "rust_use", - "module_path": "crate::boxes::random_box::RandomBox", + "module_path": "crate::boxes::map_box::MapBox", "imported_names": [], "alias": null, "line_number": 16, @@ -84525,7 +113819,7 @@ }, { "type": "rust_use", - "module_path": "crate::boxes::sound_box::SoundBox", + "module_path": "crate::boxes::random_box::RandomBox", "imported_names": [], "alias": null, "line_number": 17, @@ -84533,7 +113827,7 @@ }, { "type": "rust_use", - "module_path": "crate::boxes::debug_box::DebugBox", + "module_path": "crate::boxes::sound_box::SoundBox", "imported_names": [], "alias": null, "line_number": 18, @@ -84541,7 +113835,7 @@ }, { "type": "rust_use", - "module_path": "crate::method_box::MethodBox", + "module_path": "crate::boxes::debug_box::DebugBox", "imported_names": [], "alias": null, "line_number": 19, @@ -84549,15 +113843,15 @@ }, { "type": "rust_use", - "module_path": "crate::boxes::web::{WebDisplayBox, WebConsoleBox, WebCanvasBox}", + "module_path": "crate::method_box::MethodBox", "imported_names": [], "alias": null, - "line_number": 23, + "line_number": 20, "metadata": {} }, { "type": "rust_use", - "module_path": "crate::finalization", + "module_path": "crate::boxes::web::{WebDisplayBox, WebConsoleBox, WebCanvasBox}", "imported_names": [], "alias": null, "line_number": 24, @@ -84565,7 +113859,7 @@ }, { "type": "rust_use", - "module_path": "crate::exception_box", + "module_path": "crate::finalization", "imported_names": [], "alias": null, "line_number": 25, @@ -84573,18 +113867,26 @@ }, { "type": "rust_use", - "module_path": "std::collections::HashMap", + "module_path": "crate::exception_box", "imported_names": [], "alias": null, "line_number": 26, "metadata": {} }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 27, + "metadata": {} + }, { "type": "rust_use", "module_path": "core::NyashInterpreter", "imported_names": [], "alias": null, - "line_number": 44, + "line_number": 45, "metadata": {} }, { @@ -84592,7 +113894,15 @@ "module_path": "", "imported_names": [], "alias": null, - "line_number": 111, + "line_number": 112, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::stdlib::BuiltinStdlib", + "imported_names": [], + "alias": null, + "line_number": 115, "metadata": {} } ], @@ -84611,7 +113921,7 @@ "stats": { "class_count": 6, "function_count": 0, - "import_count": 17, + "import_count": 19, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -84786,8 +114096,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 23, - "end_line": 23, + "start_line": 20, + "end_line": 20, "start_column": 0, "end_column": 0, "depth": 1, @@ -84842,92 +114152,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 44, - "end_line": 44, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "ControlFlow", - "full_name": "", - "start_line": 49, - "end_line": 54, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "ConstructorContext", - "full_name": "", - "start_line": 58, - "end_line": 61, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "BoxDeclaration", - "full_name": "", - "start_line": 65, - "end_line": 76, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "StaticBoxDefinition", - "full_name": "", - "start_line": 80, - "end_line": 92, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "StaticBoxState", - "full_name": "", - "start_line": 96, - "end_line": 100, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "FunctionDeclaration", - "full_name": "", - "start_line": 104, - "end_line": 108, + "start_line": 27, + "end_line": 27, "start_column": 0, "end_column": 0, "depth": 1, @@ -84940,8 +114166,120 @@ "type": "import", "name": "", "full_name": "", - "start_line": 111, - "end_line": 111, + "start_line": 45, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ControlFlow", + "full_name": "", + "start_line": 50, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConstructorContext", + "full_name": "", + "start_line": 59, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxDeclaration", + "full_name": "", + "start_line": 66, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StaticBoxDefinition", + "full_name": "", + "start_line": 81, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StaticBoxState", + "full_name": "", + "start_line": 97, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FunctionDeclaration", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 112, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 115, "start_column": 0, "end_column": 0, "depth": 1, @@ -84955,12 +114293,12 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 24, + "total_nodes": 26, "max_depth": 1, "node_type_counts": { + "import": 19, "file_root": 1, - "class": 6, - "import": 17 + "class": 6 }, "classes": 6, "functions": 0, @@ -84968,19 +114306,19 @@ "variables": 0, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.763545165Z" + "generated_at": "2025-08-15T16:17:53.937910692Z" }, { "file_info": { "name": "objects.rs", "path": "src/interpreter/objects.rs", "size_bytes": 0, - "total_lines": 1062, - "code_lines": 800, - "comment_lines": 181, - "empty_lines": 81, - "code_ratio": 0.7532956685499058, - "analyzed_at": "2025-08-13T11:36:21.761720568Z", + "total_lines": 1106, + "code_lines": 837, + "comment_lines": 187, + "empty_lines": 82, + "code_ratio": 0.7567811934900542, + "analyzed_at": "2025-08-15T16:17:53.936414589Z", "metadata": {} }, "language": "rust", @@ -84988,8 +114326,8 @@ { "name": "NyashInterpreter", "parent_class": null, - "start_line": 14, - "end_line": 1062, + "start_line": 15, + "end_line": 1106, "methods": [], "properties": [], "member_variables": [], @@ -85001,8 +114339,8 @@ "functions": [ { "name": "execute_new", - "start_line": 16, - "end_line": 689, + "start_line": 17, + "end_line": 735, "parameters": [ "&mut self", "class: &str", @@ -85025,8 +114363,8 @@ }, { "name": "closure", - "start_line": 47, - "end_line": 49, + "start_line": 48, + "end_line": 50, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -85043,8 +114381,8 @@ }, { "name": "closure", - "start_line": 678, - "end_line": 678, + "start_line": 723, + "end_line": 723, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -85061,8 +114399,26 @@ }, { "name": "closure", - "start_line": 679, - "end_line": 679, + "start_line": 724, + "end_line": 724, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 725, + "end_line": 725, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -85079,11 +114435,11 @@ }, { "name": "execute_constructor", - "start_line": 692, - "end_line": 751, + "start_line": 738, + "end_line": 797, "parameters": [ "&mut self", - "instance: &Box", + "instance: &SharedNyashBox", "constructor: &ASTNode", "arguments: &[ASTNode]", "box_decl: &BoxDeclaration" @@ -85104,8 +114460,8 @@ }, { "name": "register_box_declaration", - "start_line": 754, - "end_line": 802, + "start_line": 800, + "end_line": 848, "parameters": [ "&mut self", "name: String", @@ -85129,14 +114485,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { "name": "validate_generic_arguments", - "start_line": 805, - "end_line": 842, + "start_line": 851, + "end_line": 888, "parameters": [ "&self", "box_decl: &BoxDeclaration", @@ -85157,8 +114513,8 @@ }, { "name": "is_valid_type", - "start_line": 845, - "end_line": 871, + "start_line": 891, + "end_line": 917, "parameters": [ "&self", "type_name: &str" @@ -85178,8 +114534,8 @@ }, { "name": "execute_parent_constructor", - "start_line": 874, - "end_line": 908, + "start_line": 920, + "end_line": 954, "parameters": [ "&mut self", "parent_class: &str", @@ -85194,73 +114550,73 @@ "rating": "simple", "rating_emoji": "🟢" }, - "metadata": { - "type": "function", - "modifiers": "pub(super)" - } - }, - { - "name": "closure", - "start_line": 890, - "end_line": 890, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "closure", - "start_line": 894, - "end_line": 896, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "resolve_inheritance", - "start_line": 911, - "end_line": 1001, - "parameters": [ - "&self", - "box_decl: &BoxDeclaration" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, "metadata": { "modifiers": "pub(super)", "type": "function" } }, + { + "name": "closure", + "start_line": 936, + "end_line": 936, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 940, + "end_line": 942, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "resolve_inheritance", + "start_line": 957, + "end_line": 1045, + "parameters": [ + "&self", + "box_decl: &BoxDeclaration" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, { "name": "specialize_generic_class", - "start_line": 1004, - "end_line": 1050, + "start_line": 1048, + "end_line": 1094, "parameters": [ "&self", "generic_decl: &BoxDeclaration", @@ -85281,8 +114637,8 @@ }, { "name": "substitute_types_in_fields", - "start_line": 1053, - "end_line": 1061, + "start_line": 1097, + "end_line": 1105, "parameters": [ "&self", "fields: &[String]", @@ -85313,7 +114669,7 @@ }, { "type": "rust_use", - "module_path": "crate::boxes::{NullBox, ConsoleBox, FloatBox, DateTimeBox}", + "module_path": "crate::boxes::{NullBox, ConsoleBox, FloatBox, DateTimeBox, SocketBox, HTTPServerBox, HTTPRequestBox, HTTPResponseBox}", "imported_names": [], "alias": null, "line_number": 10, @@ -85321,18 +114677,34 @@ }, { "type": "rust_use", - "module_path": "std::sync::Arc", + "module_path": "crate::box_trait::SharedNyashBox", "imported_names": [], "alias": null, "line_number": 12, "metadata": {} }, + { + "type": "rust_use", + "module_path": "std::sync::Arc", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::is_builtin_box", + "imported_names": [], + "alias": null, + "line_number": 965, + "metadata": {} + }, { "type": "rust_use", "module_path": "std::collections::HashMap", "imported_names": [], "alias": null, - "line_number": 1009, + "line_number": 1053, "metadata": {} } ], @@ -85350,8 +114722,8 @@ "metadata": {}, "stats": { "class_count": 1, - "function_count": 14, - "import_count": 4, + "function_count": 15, + "import_count": 6, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -85410,12 +114782,26 @@ "attributes": {}, "source_text": null }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "NyashInterpreter", "full_name": "", - "start_line": 14, - "end_line": 1062, + "start_line": 15, + "end_line": 1106, "start_column": 0, "end_column": 0, "depth": 1, @@ -85428,8 +114814,8 @@ "type": "function", "name": "execute_new", "full_name": "", - "start_line": 16, - "end_line": 689, + "start_line": 17, + "end_line": 735, "start_column": 0, "end_column": 0, "depth": 3, @@ -85442,25 +114828,11 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 23, - "end_line": 27, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 28, + "start_line": 24, "end_line": 28, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, @@ -85494,26 +114866,12 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 35, - "end_line": 39, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", "full_name": "", - "start_line": 40, - "end_line": 40, + "start_line": 31, + "end_line": 31, "start_column": 0, "end_column": 0, "depth": 10, @@ -85526,8 +114884,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 41, - "end_line": 52, + "start_line": 36, + "end_line": 40, "start_column": 0, "end_column": 0, "depth": 11, @@ -85540,8 +114898,36 @@ "type": "variable", "name": "", "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", "start_line": 42, - "end_line": 42, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 43, "start_column": 0, "end_column": 0, "depth": 13, @@ -85554,21 +114940,7 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 46, - "end_line": 49, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 50, + "start_line": 47, "end_line": 50, "start_column": 0, "end_column": 0, @@ -85578,12 +114950,26 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 56, - "end_line": 60, + "start_line": 57, + "end_line": 61, "start_column": 0, "end_column": 0, "depth": 11, @@ -85596,8 +114982,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 61, - "end_line": 61, + "start_line": 62, + "end_line": 62, "start_column": 0, "end_column": 0, "depth": 10, @@ -85610,8 +114996,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 62, - "end_line": 76, + "start_line": 63, + "end_line": 77, "start_column": 0, "end_column": 0, "depth": 11, @@ -85624,8 +115010,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 63, - "end_line": 63, + "start_line": 64, + "end_line": 64, "start_column": 0, "end_column": 0, "depth": 13, @@ -85638,21 +115024,7 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 67, - "end_line": 73, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 74, + "start_line": 68, "end_line": 74, "start_column": 0, "end_column": 0, @@ -85663,41 +115035,27 @@ "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", - "start_line": 80, - "end_line": 84, + "start_line": 75, + "end_line": 75, "start_column": 0, "end_column": 0, - "depth": 11, + "depth": 14, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", - "start_line": 85, + "start_line": 81, "end_line": 85, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 91, - "end_line": 95, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -85708,10 +115066,38 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 96, + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 92, "end_line": 96, "start_column": 0, "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, "depth": 10, "scope_path": "", "children": [], @@ -85722,8 +115108,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 97, - "end_line": 105, + "start_line": 98, + "end_line": 106, "start_column": 0, "end_column": 0, "depth": 11, @@ -85736,8 +115122,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 98, - "end_line": 98, + "start_line": 99, + "end_line": 99, "start_column": 0, "end_column": 0, "depth": 13, @@ -85750,25 +115136,11 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 109, - "end_line": 113, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 114, + "start_line": 110, "end_line": 114, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, @@ -85789,28 +115161,28 @@ "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", - "start_line": 121, - "end_line": 125, + "start_line": 116, + "end_line": 116, "start_column": 0, "end_column": 0, - "depth": 11, + "depth": 10, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", - "start_line": 126, + "start_line": 122, "end_line": 126, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, @@ -85830,12 +115202,26 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 129, - "end_line": 140, + "start_line": 130, + "end_line": 141, "start_column": 0, "end_column": 0, "depth": 11, @@ -85848,8 +115234,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 133, - "end_line": 133, + "start_line": 134, + "end_line": 134, "start_column": 0, "end_column": 0, "depth": 13, @@ -85862,38 +115248,10 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 144, - "end_line": 148, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 149, + "start_line": 145, "end_line": 149, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 155, - "end_line": 159, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -85904,24 +115262,24 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 160, + "start_line": 150, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 156, "end_line": 160, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 165, - "end_line": 169, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -85932,24 +115290,24 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 170, + "start_line": 161, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 166, "end_line": 170, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 220, - "end_line": 224, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -85960,24 +115318,24 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 225, + "start_line": 171, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 221, "end_line": 225, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 231, - "end_line": 235, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -85988,50 +115346,50 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 236, + "start_line": 226, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 232, "end_line": 236, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", "start_line": 237, - "end_line": 244, + "end_line": 237, "start_column": 0, "end_column": 0, - "depth": 11, + "depth": 10, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", "start_line": 238, - "end_line": 238, - "start_column": 0, - "end_column": 0, - "depth": 13, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 249, - "end_line": 253, + "end_line": 245, "start_column": 0, "end_column": 0, "depth": 11, @@ -86044,36 +115402,64 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 254, + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 250, "end_line": 254, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", "start_line": 255, - "end_line": 262, + "end_line": 255, "start_column": 0, "end_column": 0, - "depth": 11, + "depth": 10, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", "start_line": 256, - "end_line": 256, + "end_line": 263, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 257, + "end_line": 257, "start_column": 0, "end_column": 0, "depth": 13, @@ -86086,8 +115472,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 267, - "end_line": 271, + "start_line": 268, + "end_line": 272, "start_column": 0, "end_column": 0, "depth": 11, @@ -86096,26 +115482,26 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 274, - "end_line": 274, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", "full_name": "", "start_line": 275, - "end_line": 281, + "end_line": 275, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 276, + "end_line": 282, "start_column": 0, "end_column": 0, "depth": 10, @@ -86128,8 +115514,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 275, - "end_line": 281, + "start_line": 276, + "end_line": 282, "start_column": 0, "end_column": 0, "depth": 11, @@ -86138,26 +115524,26 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 284, - "end_line": 284, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", "full_name": "", "start_line": 285, - "end_line": 291, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 292, "start_column": 0, "end_column": 0, "depth": 10, @@ -86170,8 +115556,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 285, - "end_line": 291, + "start_line": 286, + "end_line": 292, "start_column": 0, "end_column": 0, "depth": 11, @@ -86180,26 +115566,26 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 294, - "end_line": 294, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", "full_name": "", "start_line": 295, - "end_line": 301, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 296, + "end_line": 302, "start_column": 0, "end_column": 0, "depth": 10, @@ -86212,8 +115598,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 295, - "end_line": 301, + "start_line": 296, + "end_line": 302, "start_column": 0, "end_column": 0, "depth": 11, @@ -86226,8 +115612,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 303, - "end_line": 303, + "start_line": 304, + "end_line": 304, "start_column": 0, "end_column": 0, "depth": 10, @@ -86240,24 +115626,24 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 308, - "end_line": 312, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 313, + "start_line": 309, "end_line": 313, "start_column": 0, "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 314, + "end_line": 314, + "start_column": 0, + "end_column": 0, "depth": 10, "scope_path": "", "children": [], @@ -86268,8 +115654,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 314, - "end_line": 326, + "start_line": 315, + "end_line": 327, "start_column": 0, "end_column": 0, "depth": 11, @@ -86282,8 +115668,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 315, - "end_line": 315, + "start_line": 316, + "end_line": 316, "start_column": 0, "end_column": 0, "depth": 13, @@ -86296,8 +115682,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 318, - "end_line": 326, + "start_line": 319, + "end_line": 327, "start_column": 0, "end_column": 0, "depth": 13, @@ -86310,8 +115696,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 319, - "end_line": 319, + "start_line": 320, + "end_line": 320, "start_column": 0, "end_column": 0, "depth": 15, @@ -86324,25 +115710,11 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 330, - "end_line": 334, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 335, + "start_line": 331, "end_line": 335, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, @@ -86367,7 +115739,21 @@ "name": "", "full_name": "", "start_line": 337, - "end_line": 341, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 338, + "end_line": 342, "start_column": 0, "end_column": 0, "depth": 10, @@ -86380,8 +115766,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 337, - "end_line": 341, + "start_line": 338, + "end_line": 342, "start_column": 0, "end_column": 0, "depth": 11, @@ -86394,8 +115780,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 343, - "end_line": 355, + "start_line": 344, + "end_line": 356, "start_column": 0, "end_column": 0, "depth": 11, @@ -86408,8 +115794,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 348, - "end_line": 348, + "start_line": 349, + "end_line": 349, "start_column": 0, "end_column": 0, "depth": 13, @@ -86422,8 +115808,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 359, - "end_line": 363, + "start_line": 360, + "end_line": 364, "start_column": 0, "end_column": 0, "depth": 11, @@ -86436,8 +115822,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 364, - "end_line": 364, + "start_line": 365, + "end_line": 365, "start_column": 0, "end_column": 0, "depth": 10, @@ -86450,8 +115836,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 372, - "end_line": 372, + "start_line": 373, + "end_line": 373, "start_column": 0, "end_column": 0, "depth": 15, @@ -86464,8 +115850,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 377, - "end_line": 377, + "start_line": 378, + "end_line": 378, "start_column": 0, "end_column": 0, "depth": 15, @@ -86478,8 +115864,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 378, - "end_line": 386, + "start_line": 379, + "end_line": 387, "start_column": 0, "end_column": 0, "depth": 16, @@ -86492,8 +115878,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 379, - "end_line": 379, + "start_line": 380, + "end_line": 380, "start_column": 0, "end_column": 0, "depth": 18, @@ -86506,38 +115892,10 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 397, - "end_line": 401, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 402, + "start_line": 398, "end_line": 402, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 408, - "end_line": 412, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -86548,24 +115906,24 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 413, + "start_line": 403, + "end_line": 403, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 409, "end_line": 413, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 419, - "end_line": 423, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -86576,24 +115934,24 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 424, + "start_line": 414, + "end_line": 414, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 420, "end_line": 424, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 430, - "end_line": 434, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -86604,24 +115962,24 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 435, + "start_line": 425, + "end_line": 425, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 431, "end_line": 435, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 441, - "end_line": 445, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -86632,24 +115990,24 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 446, + "start_line": 436, + "end_line": 436, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 442, "end_line": 446, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 452, - "end_line": 456, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -86660,24 +116018,24 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 457, + "start_line": 447, + "end_line": 447, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 453, "end_line": 457, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 462, - "end_line": 466, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -86688,22 +116046,50 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 467, + "start_line": 458, + "end_line": 458, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 463, "end_line": 467, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", "start_line": 468, - "end_line": 479, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 480, "start_column": 0, "end_column": 0, "depth": 11, @@ -86716,78 +116102,22 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 483, - "end_line": 487, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 488, + "start_line": 484, "end_line": 488, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", "start_line": 489, - "end_line": 500, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 505, - "end_line": 509, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 512, - "end_line": 512, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 513, - "end_line": 519, + "end_line": 489, "start_column": 0, "end_column": 0, "depth": 10, @@ -86800,8 +116130,22 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 513, - "end_line": 519, + "start_line": 490, + "end_line": 501, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 506, + "end_line": 510, "start_column": 0, "end_column": 0, "depth": 11, @@ -86814,8 +116158,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 522, - "end_line": 522, + "start_line": 513, + "end_line": 513, "start_column": 0, "end_column": 0, "depth": 10, @@ -86824,12 +116168,40 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 514, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 514, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", "full_name": "", "start_line": 523, - "end_line": 529, + "end_line": 523, "start_column": 0, "end_column": 0, "depth": 10, @@ -86842,8 +116214,22 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 531, - "end_line": 531, + "start_line": 524, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 532, + "end_line": 532, "start_column": 0, "end_column": 0, "depth": 10, @@ -86856,8 +116242,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 537, - "end_line": 541, + "start_line": 538, + "end_line": 542, "start_column": 0, "end_column": 0, "depth": 11, @@ -86866,26 +116252,26 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 544, - "end_line": 544, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", "full_name": "", "start_line": 545, - "end_line": 551, + "end_line": 545, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 546, + "end_line": 552, "start_column": 0, "end_column": 0, "depth": 10, @@ -86898,8 +116284,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 545, - "end_line": 551, + "start_line": 546, + "end_line": 552, "start_column": 0, "end_column": 0, "depth": 11, @@ -86908,26 +116294,26 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 554, - "end_line": 554, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", "full_name": "", "start_line": 555, - "end_line": 561, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 556, + "end_line": 562, "start_column": 0, "end_column": 0, "depth": 10, @@ -86940,8 +116326,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 555, - "end_line": 561, + "start_line": 556, + "end_line": 562, "start_column": 0, "end_column": 0, "depth": 11, @@ -86954,38 +116340,10 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 570, - "end_line": 574, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 575, + "start_line": 571, "end_line": 575, "start_column": 0, "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 580, - "end_line": 584, - "start_column": 0, - "end_column": 0, "depth": 11, "scope_path": "", "children": [], @@ -86996,10 +116354,38 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 585, + "start_line": 576, + "end_line": 576, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 581, "end_line": 585, "start_column": 0, "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 586, + "end_line": 586, + "start_column": 0, + "end_column": 0, "depth": 10, "scope_path": "", "children": [], @@ -87010,8 +116396,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 590, - "end_line": 594, + "start_line": 591, + "end_line": 595, "start_column": 0, "end_column": 0, "depth": 11, @@ -87024,8 +116410,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 597, - "end_line": 597, + "start_line": 598, + "end_line": 598, "start_column": 0, "end_column": 0, "depth": 10, @@ -87038,22 +116424,22 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 600, - "end_line": 600, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", "start_line": 601, - "end_line": 608, + "end_line": 601, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 602, + "end_line": 609, "start_column": 0, "end_column": 0, "depth": 11, @@ -87066,8 +116452,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 602, - "end_line": 602, + "start_line": 603, + "end_line": 603, "start_column": 0, "end_column": 0, "depth": 13, @@ -87080,10 +116466,122 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 614, + "start_line": 613, + "end_line": 617, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 618, "end_line": 618, "start_column": 0, "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 623, + "end_line": 627, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 628, + "end_line": 628, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 633, + "end_line": 637, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 638, + "end_line": 638, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 643, + "end_line": 647, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 648, + "end_line": 648, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 655, + "end_line": 659, + "start_column": 0, + "end_column": 0, "depth": 6, "scope_path": "", "children": [], @@ -87094,8 +116592,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 621, - "end_line": 626, + "start_line": 662, + "end_line": 667, "start_column": 0, "end_column": 0, "depth": 5, @@ -87108,8 +116606,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 622, - "end_line": 622, + "start_line": 663, + "end_line": 663, "start_column": 0, "end_column": 0, "depth": 7, @@ -87122,8 +116620,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 629, - "end_line": 631, + "start_line": 670, + "end_line": 672, "start_column": 0, "end_column": 0, "depth": 6, @@ -87136,193 +116634,25 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 634, - "end_line": 638, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 641, - "end_line": 648, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 641, - "end_line": 648, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 643, - "end_line": 643, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 644, - "end_line": 644, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 651, - "end_line": 651, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 654, - "end_line": 654, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 655, - "end_line": 655, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 658, - "end_line": 664, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 666, - "end_line": 666, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 673, - "end_line": 673, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 674, - "end_line": 674, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", "start_line": 675, - "end_line": 675, + "end_line": 679, "start_column": 0, "end_column": 0, - "depth": 5, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", - "start_line": 677, - "end_line": 686, + "start_line": 682, + "end_line": 689, "start_column": 0, "end_column": 0, - "depth": 6, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -87333,7 +116663,203 @@ "name": "", "full_name": "", "start_line": 682, - "end_line": 686, + "end_line": 689, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 684, + "end_line": 684, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 685, + "end_line": 685, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 692, + "end_line": 692, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 695, + "end_line": 695, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 696, + "end_line": 696, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 699, + "end_line": 705, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 707, + "end_line": 707, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 713, + "end_line": 713, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 717, + "end_line": 717, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 718, + "end_line": 718, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 719, + "end_line": 719, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 720, + "end_line": 720, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 722, + "end_line": 732, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 728, + "end_line": 732, "start_column": 0, "end_column": 0, "depth": 8, @@ -87346,8 +116872,8 @@ "type": "function", "name": "execute_constructor", "full_name": "", - "start_line": 692, - "end_line": 751, + "start_line": 738, + "end_line": 797, "start_column": 0, "end_column": 0, "depth": 3, @@ -87360,8 +116886,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 699, - "end_line": 750, + "start_line": 745, + "end_line": 796, "start_column": 0, "end_column": 0, "depth": 6, @@ -87374,8 +116900,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 701, - "end_line": 701, + "start_line": 747, + "end_line": 747, "start_column": 0, "end_column": 0, "depth": 8, @@ -87388,8 +116914,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 702, - "end_line": 704, + "start_line": 748, + "end_line": 750, "start_column": 0, "end_column": 0, "depth": 9, @@ -87402,8 +116928,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 707, - "end_line": 711, + "start_line": 753, + "end_line": 757, "start_column": 0, "end_column": 0, "depth": 9, @@ -87416,8 +116942,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 714, - "end_line": 714, + "start_line": 760, + "end_line": 760, "start_column": 0, "end_column": 0, "depth": 8, @@ -87430,8 +116956,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 718, - "end_line": 720, + "start_line": 764, + "end_line": 766, "start_column": 0, "end_column": 0, "depth": 9, @@ -87444,8 +116970,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 726, - "end_line": 726, + "start_line": 772, + "end_line": 772, "start_column": 0, "end_column": 0, "depth": 8, @@ -87458,8 +116984,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 733, - "end_line": 733, + "start_line": 779, + "end_line": 779, "start_column": 0, "end_column": 0, "depth": 8, @@ -87472,8 +116998,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 734, - "end_line": 739, + "start_line": 780, + "end_line": 785, "start_column": 0, "end_column": 0, "depth": 9, @@ -87486,8 +117012,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 735, - "end_line": 738, + "start_line": 781, + "end_line": 784, "start_column": 0, "end_column": 0, "depth": 12, @@ -87500,8 +117026,8 @@ "type": "function", "name": "register_box_declaration", "full_name": "", - "start_line": 754, - "end_line": 802, + "start_line": 800, + "end_line": 848, "start_column": 0, "end_column": 0, "depth": 3, @@ -87514,8 +117040,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 769, - "end_line": 782, + "start_line": 815, + "end_line": 828, "start_column": 0, "end_column": 0, "depth": 6, @@ -87528,8 +117054,8 @@ "type": "variable", "name": "Vec", "full_name": "", - "start_line": 770, - "end_line": 770, + "start_line": 816, + "end_line": 816, "start_column": 0, "end_column": 0, "depth": 8, @@ -87542,8 +117068,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 783, - "end_line": 794, + "start_line": 829, + "end_line": 840, "start_column": 0, "end_column": 0, "depth": 5, @@ -87556,8 +117082,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 797, - "end_line": 797, + "start_line": 843, + "end_line": 843, "start_column": 0, "end_column": 0, "depth": 7, @@ -87570,8 +117096,8 @@ "type": "function", "name": "validate_generic_arguments", "full_name": "", - "start_line": 805, - "end_line": 842, + "start_line": 851, + "end_line": 888, "start_column": 0, "end_column": 0, "depth": 3, @@ -87584,8 +117110,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 808, - "end_line": 819, + "start_line": 854, + "end_line": 865, "start_column": 0, "end_column": 0, "depth": 6, @@ -87598,8 +117124,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 822, - "end_line": 830, + "start_line": 868, + "end_line": 876, "start_column": 0, "end_column": 0, "depth": 6, @@ -87612,8 +117138,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 833, - "end_line": 839, + "start_line": 879, + "end_line": 885, "start_column": 0, "end_column": 0, "depth": 6, @@ -87626,8 +117152,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 834, - "end_line": 838, + "start_line": 880, + "end_line": 884, "start_column": 0, "end_column": 0, "depth": 9, @@ -87640,8 +117166,8 @@ "type": "function", "name": "is_valid_type", "full_name": "", - "start_line": 845, - "end_line": 871, + "start_line": 891, + "end_line": 917, "start_column": 0, "end_column": 0, "depth": 3, @@ -87654,8 +117180,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 847, - "end_line": 854, + "start_line": 893, + "end_line": 900, "start_column": 0, "end_column": 0, "depth": 5, @@ -87668,8 +117194,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 858, - "end_line": 858, + "start_line": 904, + "end_line": 904, "start_column": 0, "end_column": 0, "depth": 5, @@ -87682,8 +117208,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 860, - "end_line": 860, + "start_line": 906, + "end_line": 906, "start_column": 0, "end_column": 0, "depth": 5, @@ -87696,8 +117222,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 864, - "end_line": 864, + "start_line": 910, + "end_line": 910, "start_column": 0, "end_column": 0, "depth": 5, @@ -87710,8 +117236,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 866, - "end_line": 866, + "start_line": 912, + "end_line": 912, "start_column": 0, "end_column": 0, "depth": 5, @@ -87724,8 +117250,8 @@ "type": "function", "name": "execute_parent_constructor", "full_name": "", - "start_line": 874, - "end_line": 908, + "start_line": 920, + "end_line": 954, "start_column": 0, "end_column": 0, "depth": 3, @@ -87738,8 +117264,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 877, - "end_line": 882, + "start_line": 923, + "end_line": 928, "start_column": 0, "end_column": 0, "depth": 5, @@ -87752,8 +117278,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 878, - "end_line": 878, + "start_line": 924, + "end_line": 924, "start_column": 0, "end_column": 0, "depth": 7, @@ -87766,8 +117292,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 886, - "end_line": 886, + "start_line": 932, + "end_line": 932, "start_column": 0, "end_column": 0, "depth": 5, @@ -87780,8 +117306,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 887, - "end_line": 887, + "start_line": 933, + "end_line": 933, "start_column": 0, "end_column": 0, "depth": 5, @@ -87794,8 +117320,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 889, - "end_line": 907, + "start_line": 935, + "end_line": 953, "start_column": 0, "end_column": 0, "depth": 6, @@ -87808,8 +117334,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 893, - "end_line": 896, + "start_line": 939, + "end_line": 942, "start_column": 0, "end_column": 0, "depth": 8, @@ -87822,8 +117348,8 @@ "type": "function", "name": "resolve_inheritance", "full_name": "", - "start_line": 911, - "end_line": 1001, + "start_line": 957, + "end_line": 1045, "start_column": 0, "end_column": 0, "depth": 3, @@ -87836,8 +117362,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 913, - "end_line": 913, + "start_line": 959, + "end_line": 959, "start_column": 0, "end_column": 0, "depth": 5, @@ -87850,8 +117376,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 914, - "end_line": 914, + "start_line": 960, + "end_line": 960, "start_column": 0, "end_column": 0, "depth": 5, @@ -87864,8 +117390,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 917, - "end_line": 958, + "start_line": 963, + "end_line": 1002, "start_column": 0, "end_column": 0, "depth": 6, @@ -87875,11 +117401,11 @@ "source_text": null }, { - "type": "variable", + "type": "import", "name": "", "full_name": "", - "start_line": 919, - "end_line": 926, + "start_line": 965, + "end_line": 965, "start_column": 0, "end_column": 0, "depth": 8, @@ -87892,8 +117418,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 931, - "end_line": 931, + "start_line": 967, + "end_line": 967, "start_column": 0, "end_column": 0, "depth": 8, @@ -87906,8 +117432,22 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 933, - "end_line": 957, + "start_line": 972, + "end_line": 974, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 977, + "end_line": 1001, "start_column": 0, "end_column": 0, "depth": 9, @@ -87920,8 +117460,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 937, - "end_line": 942, + "start_line": 981, + "end_line": 986, "start_column": 0, "end_column": 0, "depth": 12, @@ -87934,8 +117474,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 938, - "end_line": 938, + "start_line": 982, + "end_line": 982, "start_column": 0, "end_column": 0, "depth": 14, @@ -87948,8 +117488,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 945, - "end_line": 949, + "start_line": 989, + "end_line": 993, "start_column": 0, "end_column": 0, "depth": 13, @@ -87962,8 +117502,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 952, - "end_line": 952, + "start_line": 996, + "end_line": 996, "start_column": 0, "end_column": 0, "depth": 12, @@ -87976,8 +117516,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 964, - "end_line": 968, + "start_line": 1008, + "end_line": 1012, "start_column": 0, "end_column": 0, "depth": 6, @@ -87990,8 +117530,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 965, - "end_line": 967, + "start_line": 1009, + "end_line": 1011, "start_column": 0, "end_column": 0, "depth": 9, @@ -88004,8 +117544,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 970, - "end_line": 972, + "start_line": 1014, + "end_line": 1016, "start_column": 0, "end_column": 0, "depth": 6, @@ -88018,8 +117558,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 975, - "end_line": 998, + "start_line": 1019, + "end_line": 1042, "start_column": 0, "end_column": 0, "depth": 6, @@ -88032,8 +117572,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 976, - "end_line": 981, + "start_line": 1020, + "end_line": 1025, "start_column": 0, "end_column": 0, "depth": 8, @@ -88046,8 +117586,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 977, - "end_line": 977, + "start_line": 1021, + "end_line": 1021, "start_column": 0, "end_column": 0, "depth": 10, @@ -88060,8 +117600,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 983, - "end_line": 987, + "start_line": 1027, + "end_line": 1031, "start_column": 0, "end_column": 0, "depth": 9, @@ -88074,8 +117614,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 990, - "end_line": 997, + "start_line": 1034, + "end_line": 1041, "start_column": 0, "end_column": 0, "depth": 9, @@ -88088,8 +117628,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 991, - "end_line": 996, + "start_line": 1035, + "end_line": 1040, "start_column": 0, "end_column": 0, "depth": 12, @@ -88102,8 +117642,8 @@ "type": "function", "name": "specialize_generic_class", "full_name": "", - "start_line": 1004, - "end_line": 1050, + "start_line": 1048, + "end_line": 1094, "start_column": 0, "end_column": 0, "depth": 3, @@ -88116,8 +117656,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 1009, - "end_line": 1009, + "start_line": 1053, + "end_line": 1053, "start_column": 0, "end_column": 0, "depth": 5, @@ -88130,8 +117670,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1012, - "end_line": 1016, + "start_line": 1056, + "end_line": 1060, "start_column": 0, "end_column": 0, "depth": 5, @@ -88144,8 +117684,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1019, - "end_line": 1019, + "start_line": 1063, + "end_line": 1063, "start_column": 0, "end_column": 0, "depth": 5, @@ -88158,8 +117698,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 1020, - "end_line": 1022, + "start_line": 1064, + "end_line": 1066, "start_column": 0, "end_column": 0, "depth": 6, @@ -88172,8 +117712,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1025, - "end_line": 1025, + "start_line": 1069, + "end_line": 1069, "start_column": 0, "end_column": 0, "depth": 5, @@ -88186,8 +117726,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1036, - "end_line": 1036, + "start_line": 1080, + "end_line": 1080, "start_column": 0, "end_column": 0, "depth": 5, @@ -88200,8 +117740,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 1037, - "end_line": 1043, + "start_line": 1081, + "end_line": 1087, "start_column": 0, "end_column": 0, "depth": 6, @@ -88214,8 +117754,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1039, - "end_line": 1042, + "start_line": 1083, + "end_line": 1086, "start_column": 0, "end_column": 0, "depth": 9, @@ -88228,8 +117768,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1040, - "end_line": 1040, + "start_line": 1084, + "end_line": 1084, "start_column": 0, "end_column": 0, "depth": 11, @@ -88242,8 +117782,8 @@ "type": "function", "name": "substitute_types_in_fields", "full_name": "", - "start_line": 1053, - "end_line": 1061, + "start_line": 1097, + "end_line": 1105, "start_column": 0, "end_column": 0, "depth": 3, @@ -88257,36 +117797,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 207, + "total_nodes": 219, "max_depth": 18, "node_type_counts": { - "class": 1, - "if_statement": 70, "function": 9, + "if_statement": 75, + "variable": 116, + "import": 6, + "class": 1, "for_loop": 11, - "file_root": 1, - "import": 4, - "variable": 111 + "file_root": 1 }, "classes": 1, "functions": 9, "methods": 0, - "variables": 111, - "control_structures": 81 + "variables": 116, + "control_structures": 86 }, - "generated_at": "2025-08-13T11:36:21.761790186Z" + "generated_at": "2025-08-15T16:17:53.936481027Z" }, { "file_info": { "name": "statements.rs", "path": "src/interpreter/statements.rs", "size_bytes": 0, - "total_lines": 488, - "code_lines": 361, - "comment_lines": 64, - "empty_lines": 63, - "code_ratio": 0.7397540983606558, - "analyzed_at": "2025-08-13T11:36:21.763591073Z", + "total_lines": 523, + "code_lines": 385, + "comment_lines": 69, + "empty_lines": 69, + "code_ratio": 0.7361376673040153, + "analyzed_at": "2025-08-15T16:17:53.936518977Z", "metadata": {} }, "language": "rust", @@ -88294,8 +117834,8 @@ { "name": "NyashInterpreter", "parent_class": null, - "start_line": 12, - "end_line": 488, + "start_line": 13, + "end_line": 523, "methods": [], "properties": [], "member_variables": [], @@ -88307,8 +117847,8 @@ "functions": [ { "name": "execute_statement", - "start_line": 14, - "end_line": 170, + "start_line": 15, + "end_line": 175, "parameters": [ "&mut self", "statement: &ASTNode" @@ -88323,14 +117863,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } }, { "name": "execute_if", - "start_line": 173, - "end_line": 197, + "start_line": 178, + "end_line": 202, "parameters": [ "&mut self", "condition: &ASTNode", @@ -88353,8 +117893,8 @@ }, { "name": "execute_loop", - "start_line": 200, - "end_line": 238, + "start_line": 205, + "end_line": 243, "parameters": [ "&mut self", "condition: &Box", @@ -88369,38 +117909,38 @@ "rating": "simple", "rating_emoji": "🟢" }, - "metadata": { - "modifiers": "pub(super)", - "type": "function" - } - }, - { - "name": "execute_assignment", - "start_line": 241, - "end_line": 387, - "parameters": [ - "&mut self", - "target: &ASTNode", - "value: &ASTNode" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, "metadata": { "type": "function", "modifiers": "pub(super)" } }, + { + "name": "execute_assignment", + "start_line": 246, + "end_line": 392, + "parameters": [ + "&mut self", + "target: &ASTNode", + "value: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, { "name": "closure", - "start_line": 293, - "end_line": 293, + "start_line": 298, + "end_line": 298, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -88417,8 +117957,8 @@ }, { "name": "closure", - "start_line": 308, - "end_line": 308, + "start_line": 313, + "end_line": 313, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -88435,8 +117975,8 @@ }, { "name": "closure", - "start_line": 320, - "end_line": 322, + "start_line": 325, + "end_line": 327, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -88453,8 +117993,8 @@ }, { "name": "closure", - "start_line": 341, - "end_line": 341, + "start_line": 346, + "end_line": 346, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -88471,8 +118011,8 @@ }, { "name": "closure", - "start_line": 353, - "end_line": 355, + "start_line": 358, + "end_line": 360, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -88489,8 +118029,8 @@ }, { "name": "closure", - "start_line": 374, - "end_line": 374, + "start_line": 379, + "end_line": 379, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -88507,8 +118047,8 @@ }, { "name": "execute_try_catch", - "start_line": 390, - "end_line": 471, + "start_line": 395, + "end_line": 476, "parameters": [ "&mut self", "try_body: &[ASTNode]", @@ -88531,8 +118071,8 @@ }, { "name": "execute_throw", - "start_line": 474, - "end_line": 487, + "start_line": 479, + "end_line": 492, "parameters": [ "&mut self", "expression: &ASTNode" @@ -88550,6 +118090,48 @@ "type": "function", "modifiers": "pub(super)" } + }, + { + "name": "execute_using_statement", + "start_line": 495, + "end_line": 512, + "parameters": [ + "&mut self", + "namespace_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "ensure_stdlib_initialized", + "start_line": 515, + "end_line": 522, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } } ], "imports": [ @@ -88563,11 +118145,19 @@ }, { "type": "rust_use", - "module_path": "std::sync::{Arc, Mutex}", + "module_path": "super::BuiltinStdlib", "imported_names": [], "alias": null, "line_number": 10, "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} } ], "exports": [], @@ -88584,8 +118174,8 @@ "metadata": {}, "stats": { "class_count": 1, - "function_count": 12, - "import_count": 2, + "function_count": 14, + "import_count": 3, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -88630,12 +118220,26 @@ "attributes": {}, "source_text": null }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "NyashInterpreter", "full_name": "", - "start_line": 12, - "end_line": 488, + "start_line": 13, + "end_line": 523, "start_column": 0, "end_column": 0, "depth": 1, @@ -88648,8 +118252,8 @@ "type": "function", "name": "execute_statement", "full_name": "", - "start_line": 14, - "end_line": 170, + "start_line": 15, + "end_line": 175, "start_column": 0, "end_column": 0, "depth": 3, @@ -88662,8 +118266,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 21, - "end_line": 21, + "start_line": 22, + "end_line": 22, "start_column": 0, "end_column": 0, "depth": 10, @@ -88676,8 +118280,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 35, - "end_line": 39, + "start_line": 36, + "end_line": 40, "start_column": 0, "end_column": 0, "depth": 10, @@ -88690,8 +118294,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 35, - "end_line": 39, + "start_line": 36, + "end_line": 40, "start_column": 0, "end_column": 0, "depth": 11, @@ -88704,8 +118308,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 54, - "end_line": 81, + "start_line": 59, + "end_line": 86, "start_column": 0, "end_column": 0, "depth": 11, @@ -88718,8 +118322,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 86, - "end_line": 118, + "start_line": 91, + "end_line": 123, "start_column": 0, "end_column": 0, "depth": 11, @@ -88732,8 +118336,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 88, - "end_line": 114, + "start_line": 93, + "end_line": 119, "start_column": 0, "end_column": 0, "depth": 14, @@ -88746,8 +118350,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 89, - "end_line": 89, + "start_line": 94, + "end_line": 94, "start_column": 0, "end_column": 0, "depth": 16, @@ -88760,8 +118364,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 90, - "end_line": 90, + "start_line": 95, + "end_line": 95, "start_column": 0, "end_column": 0, "depth": 16, @@ -88774,8 +118378,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 93, - "end_line": 100, + "start_line": 98, + "end_line": 105, "start_column": 0, "end_column": 0, "depth": 16, @@ -88788,8 +118392,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 103, - "end_line": 103, + "start_line": 108, + "end_line": 108, "start_column": 0, "end_column": 0, "depth": 18, @@ -88802,8 +118406,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 123, - "end_line": 123, + "start_line": 128, + "end_line": 128, "start_column": 0, "end_column": 0, "depth": 10, @@ -88816,8 +118420,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 139, - "end_line": 148, + "start_line": 144, + "end_line": 153, "start_column": 0, "end_column": 0, "depth": 11, @@ -88830,8 +118434,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 140, - "end_line": 147, + "start_line": 145, + "end_line": 152, "start_column": 0, "end_column": 0, "depth": 14, @@ -88844,8 +118448,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 142, - "end_line": 142, + "start_line": 147, + "end_line": 147, "start_column": 0, "end_column": 0, "depth": 16, @@ -88858,8 +118462,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 154, - "end_line": 163, + "start_line": 159, + "end_line": 168, "start_column": 0, "end_column": 0, "depth": 11, @@ -88872,8 +118476,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 155, - "end_line": 162, + "start_line": 160, + "end_line": 167, "start_column": 0, "end_column": 0, "depth": 14, @@ -88886,8 +118490,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 157, - "end_line": 157, + "start_line": 162, + "end_line": 162, "start_column": 0, "end_column": 0, "depth": 16, @@ -88900,8 +118504,8 @@ "type": "function", "name": "execute_if", "full_name": "", - "start_line": 173, - "end_line": 197, + "start_line": 178, + "end_line": 202, "start_column": 0, "end_column": 0, "depth": 3, @@ -88914,8 +118518,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 175, - "end_line": 175, + "start_line": 180, + "end_line": 180, "start_column": 0, "end_column": 0, "depth": 5, @@ -88928,8 +118532,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 178, - "end_line": 178, + "start_line": 183, + "end_line": 183, "start_column": 0, "end_column": 0, "depth": 5, @@ -88942,8 +118546,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 180, - "end_line": 194, + "start_line": 185, + "end_line": 199, "start_column": 0, "end_column": 0, "depth": 6, @@ -88956,8 +118560,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 181, - "end_line": 186, + "start_line": 186, + "end_line": 191, "start_column": 0, "end_column": 0, "depth": 9, @@ -88970,8 +118574,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 183, - "end_line": 185, + "start_line": 188, + "end_line": 190, "start_column": 0, "end_column": 0, "depth": 12, @@ -88984,8 +118588,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 187, - "end_line": 194, + "start_line": 192, + "end_line": 199, "start_column": 0, "end_column": 0, "depth": 8, @@ -88998,8 +118602,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 188, - "end_line": 193, + "start_line": 193, + "end_line": 198, "start_column": 0, "end_column": 0, "depth": 11, @@ -89012,8 +118616,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 190, - "end_line": 192, + "start_line": 195, + "end_line": 197, "start_column": 0, "end_column": 0, "depth": 14, @@ -89026,8 +118630,8 @@ "type": "function", "name": "execute_loop", "full_name": "", - "start_line": 200, - "end_line": 238, + "start_line": 205, + "end_line": 243, "start_column": 0, "end_column": 0, "depth": 3, @@ -89040,8 +118644,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 201, - "end_line": 235, + "start_line": 206, + "end_line": 240, "start_column": 0, "end_column": 0, "depth": 6, @@ -89054,8 +118658,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 203, - "end_line": 203, + "start_line": 208, + "end_line": 208, "start_column": 0, "end_column": 0, "depth": 8, @@ -89068,8 +118672,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 204, - "end_line": 213, + "start_line": 209, + "end_line": 218, "start_column": 0, "end_column": 0, "depth": 9, @@ -89078,20 +118682,6 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 205, - "end_line": 207, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", @@ -89100,6 +118690,20 @@ "end_line": 212, "start_column": 0, "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 217, + "start_column": 0, + "end_column": 0, "depth": 13, "scope_path": "", "children": [], @@ -89110,8 +118714,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 216, - "end_line": 234, + "start_line": 221, + "end_line": 239, "start_column": 0, "end_column": 0, "depth": 9, @@ -89124,8 +118728,8 @@ "type": "function", "name": "execute_assignment", "full_name": "", - "start_line": 241, - "end_line": 387, + "start_line": 246, + "end_line": 392, "start_column": 0, "end_column": 0, "depth": 3, @@ -89138,8 +118742,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 242, - "end_line": 242, + "start_line": 247, + "end_line": 247, "start_column": 0, "end_column": 0, "depth": 5, @@ -89152,8 +118756,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 250, - "end_line": 267, + "start_line": 255, + "end_line": 272, "start_column": 0, "end_column": 0, "depth": 11, @@ -89166,8 +118770,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 254, - "end_line": 266, + "start_line": 259, + "end_line": 271, "start_column": 0, "end_column": 0, "depth": 14, @@ -89180,8 +118784,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 255, - "end_line": 255, + "start_line": 260, + "end_line": 260, "start_column": 0, "end_column": 0, "depth": 16, @@ -89194,8 +118798,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 260, - "end_line": 265, + "start_line": 265, + "end_line": 270, "start_column": 0, "end_column": 0, "depth": 17, @@ -89208,8 +118812,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 275, - "end_line": 275, + "start_line": 280, + "end_line": 280, "start_column": 0, "end_column": 0, "depth": 10, @@ -89222,8 +118826,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 277, - "end_line": 314, + "start_line": 282, + "end_line": 319, "start_column": 0, "end_column": 0, "depth": 11, @@ -89236,8 +118840,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 279, - "end_line": 283, + "start_line": 284, + "end_line": 288, "start_column": 0, "end_column": 0, "depth": 14, @@ -89250,8 +118854,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 286, - "end_line": 286, + "start_line": 291, + "end_line": 291, "start_column": 0, "end_column": 0, "depth": 13, @@ -89264,67 +118868,53 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 287, - "end_line": 297, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 288, - "end_line": 296, - "start_column": 0, - "end_column": 0, - "depth": 17, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 300, - "end_line": 305, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 301, - "end_line": 304, - "start_column": 0, - "end_column": 0, - "depth": 17, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 302, + "start_line": 292, "end_line": 302, "start_column": 0, "end_column": 0, - "depth": 19, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 293, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 310, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 306, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 17, "scope_path": "", "children": [], "attributes": {}, @@ -89334,92 +118924,22 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 319, - "end_line": 322, + "start_line": 307, + "end_line": 307, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 19, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", "start_line": 324, - "end_line": 347, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 326, - "end_line": 330, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 333, - "end_line": 338, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 334, - "end_line": 337, - "start_column": 0, - "end_column": 0, - "depth": 17, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 335, - "end_line": 335, - "start_column": 0, - "end_column": 0, - "depth": 19, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 352, - "end_line": 355, + "end_line": 327, "start_column": 0, "end_column": 0, "depth": 10, @@ -89432,8 +118952,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 357, - "end_line": 380, + "start_line": 329, + "end_line": 352, "start_column": 0, "end_column": 0, "depth": 11, @@ -89446,8 +118966,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 359, - "end_line": 363, + "start_line": 331, + "end_line": 335, "start_column": 0, "end_column": 0, "depth": 14, @@ -89460,8 +118980,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 366, - "end_line": 371, + "start_line": 338, + "end_line": 343, "start_column": 0, "end_column": 0, "depth": 14, @@ -89474,8 +118994,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 367, - "end_line": 370, + "start_line": 339, + "end_line": 342, "start_column": 0, "end_column": 0, "depth": 17, @@ -89488,10 +119008,94 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 368, + "start_line": 340, + "end_line": 340, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 360, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 362, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 364, "end_line": 368, "start_column": 0, "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 371, + "end_line": 376, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 372, + "end_line": 375, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 373, + "end_line": 373, + "start_column": 0, + "end_column": 0, "depth": 19, "scope_path": "", "children": [], @@ -89502,8 +119106,8 @@ "type": "function", "name": "execute_try_catch", "full_name": "", - "start_line": 390, - "end_line": 471, + "start_line": 395, + "end_line": 476, "start_column": 0, "end_column": 0, "depth": 3, @@ -89516,8 +119120,8 @@ "type": "variable", "name": "Option>", "full_name": "", - "start_line": 392, - "end_line": 392, + "start_line": 397, + "end_line": 397, "start_column": 0, "end_column": 0, "depth": 5, @@ -89530,8 +119134,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 395, - "end_line": 395, + "start_line": 400, + "end_line": 400, "start_column": 0, "end_column": 0, "depth": 5, @@ -89544,8 +119148,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 396, - "end_line": 417, + "start_line": 401, + "end_line": 422, "start_column": 0, "end_column": 0, "depth": 6, @@ -89558,8 +119162,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 400, - "end_line": 408, + "start_line": 405, + "end_line": 413, "start_column": 0, "end_column": 0, "depth": 14, @@ -89572,8 +119176,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 401, - "end_line": 407, + "start_line": 406, + "end_line": 412, "start_column": 0, "end_column": 0, "depth": 17, @@ -89586,8 +119190,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 420, - "end_line": 450, + "start_line": 425, + "end_line": 455, "start_column": 0, "end_column": 0, "depth": 6, @@ -89600,8 +119204,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 421, - "end_line": 449, + "start_line": 426, + "end_line": 454, "start_column": 0, "end_column": 0, "depth": 9, @@ -89614,8 +119218,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 423, - "end_line": 427, + "start_line": 428, + "end_line": 432, "start_column": 0, "end_column": 0, "depth": 12, @@ -89628,8 +119232,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 424, - "end_line": 426, + "start_line": 429, + "end_line": 431, "start_column": 0, "end_column": 0, "depth": 15, @@ -89642,8 +119246,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 430, - "end_line": 432, + "start_line": 435, + "end_line": 437, "start_column": 0, "end_column": 0, "depth": 12, @@ -89656,35 +119260,7 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 435, - "end_line": 440, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 437, - "end_line": 439, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 443, + "start_line": 440, "end_line": 445, "start_column": 0, "end_column": 0, @@ -89698,25 +119274,11 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 453, - "end_line": 460, + "start_line": 442, + "end_line": 444, "start_column": 0, "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 454, - "end_line": 459, - "start_column": 0, - "end_column": 0, - "depth": 9, + "depth": 15, "scope_path": "", "children": [], "attributes": {}, @@ -89726,8 +119288,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 456, - "end_line": 458, + "start_line": 448, + "end_line": 450, "start_column": 0, "end_column": 0, "depth": 12, @@ -89740,7 +119302,7 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 463, + "start_line": 458, "end_line": 465, "start_column": 0, "end_column": 0, @@ -89750,12 +119312,54 @@ "attributes": {}, "source_text": null }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 459, + "end_line": 464, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 461, + "end_line": 463, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 468, + "end_line": 470, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "execute_throw", "full_name": "", - "start_line": 474, - "end_line": 487, + "start_line": 479, + "end_line": 492, "start_column": 0, "end_column": 0, "depth": 3, @@ -89768,8 +119372,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 475, - "end_line": 475, + "start_line": 480, + "end_line": 480, "start_column": 0, "end_column": 0, "depth": 5, @@ -89782,8 +119386,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 478, - "end_line": 483, + "start_line": 483, + "end_line": 488, "start_column": 0, "end_column": 0, "depth": 5, @@ -89796,8 +119400,64 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 478, - "end_line": 483, + "start_line": 483, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_using_statement", + "full_name": "", + "start_line": 495, + "end_line": 512, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 499, + "end_line": 503, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ensure_stdlib_initialized", + "full_name": "", + "start_line": 515, + "end_line": 522, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 516, + "end_line": 520, "start_column": 0, "end_column": 0, "depth": 6, @@ -89811,24 +119471,24 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 87, + "total_nodes": 92, "max_depth": 19, "node_type_counts": { - "variable": 25, "class": 1, "for_loop": 10, - "import": 2, + "function": 8, + "if_statement": 44, "file_root": 1, - "function": 6, - "if_statement": 42 + "import": 3, + "variable": 25 }, "classes": 1, - "functions": 6, + "functions": 8, "methods": 0, "variables": 25, - "control_structures": 52 + "control_structures": 54 }, - "generated_at": "2025-08-13T11:36:21.763624942Z" + "generated_at": "2025-08-15T16:17:53.936551701Z" }, { "file_info": { @@ -89840,7 +119500,7 @@ "comment_lines": 26, "empty_lines": 9, "code_ratio": 0.9104859335038363, - "analyzed_at": "2025-08-13T11:36:21.762348077Z", + "analyzed_at": "2025-08-15T16:17:53.937963225Z", "metadata": {} }, "language": "rust", @@ -89879,8 +119539,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { @@ -89903,8 +119563,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { @@ -90880,12 +120540,12 @@ "total_nodes": 61, "max_depth": 11, "node_type_counts": { - "if_statement": 37, - "for_loop": 4, "file_root": 1, - "function": 4, "import": 3, + "function": 4, "class": 1, + "for_loop": 4, + "if_statement": 37, "variable": 11 }, "classes": 1, @@ -90894,7 +120554,7 @@ "variables": 11, "control_structures": 41 }, - "generated_at": "2025-08-13T11:36:21.762373646Z" + "generated_at": "2025-08-15T16:17:53.937996003Z" }, { "file_info": { @@ -90906,7 +120566,7 @@ "comment_lines": 24, "empty_lines": 7, "code_ratio": 0.9312638580931264, - "analyzed_at": "2025-08-13T11:36:21.762903533Z", + "analyzed_at": "2025-08-15T16:17:53.937046918Z", "metadata": {} }, "language": "rust", @@ -90945,8 +120605,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { @@ -90969,8 +120629,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } }, { @@ -90993,8 +120653,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } } ], @@ -92442,13 +122102,13 @@ "total_nodes": 100, "max_depth": 13, "node_type_counts": { - "variable": 37, "class": 1, "if_statement": 53, - "for_loop": 3, "function": 3, + "import": 2, + "variable": 37, "file_root": 1, - "import": 2 + "for_loop": 3 }, "classes": 1, "functions": 3, @@ -92456,19 +122116,19 @@ "variables": 37, "control_structures": 56 }, - "generated_at": "2025-08-13T11:36:21.762931238Z" + "generated_at": "2025-08-15T16:17:53.937069867Z" }, { "file_info": { "name": "lib.rs", "path": "src/lib.rs", "size_bytes": 0, - "total_lines": 202, - "code_lines": 132, + "total_lines": 207, + "code_lines": 136, "comment_lines": 39, - "empty_lines": 31, - "code_ratio": 0.6534653465346535, - "analyzed_at": "2025-08-13T11:36:21.762928262Z", + "empty_lines": 32, + "code_ratio": 0.6570048309178744, + "analyzed_at": "2025-08-15T16:17:53.934365295Z", "metadata": {} }, "language": "rust", @@ -92476,8 +122136,8 @@ { "name": "NyashWasm", "parent_class": null, - "start_line": 77, - "end_line": 79, + "start_line": 82, + "end_line": 84, "methods": [], "properties": [], "member_variables": [], @@ -92489,8 +122149,8 @@ { "name": "NyashWasm", "parent_class": null, - "start_line": 83, - "end_line": 202, + "start_line": 88, + "end_line": 207, "methods": [], "properties": [], "member_variables": [], @@ -92502,8 +122162,8 @@ "functions": [ { "name": "new", - "start_line": 86, - "end_line": 98, + "start_line": 91, + "end_line": 103, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -92521,8 +122181,8 @@ }, { "name": "eval", - "start_line": 102, - "end_line": 155, + "start_line": 107, + "end_line": 160, "parameters": [ "&mut self", "code: &str" @@ -92543,8 +122203,8 @@ }, { "name": "closure", - "start_line": 111, - "end_line": 111, + "start_line": 116, + "end_line": 116, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -92561,8 +122221,8 @@ }, { "name": "closure", - "start_line": 112, - "end_line": 112, + "start_line": 117, + "end_line": 117, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -92579,8 +122239,8 @@ }, { "name": "closure", - "start_line": 152, - "end_line": 152, + "start_line": 157, + "end_line": 157, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -92597,8 +122257,8 @@ }, { "name": "closure", - "start_line": 154, - "end_line": 154, + "start_line": 159, + "end_line": 159, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -92615,8 +122275,8 @@ }, { "name": "eval_single_block", - "start_line": 158, - "end_line": 178, + "start_line": 163, + "end_line": 183, "parameters": [ "&mut self", "code: &str" @@ -92636,8 +122296,8 @@ }, { "name": "is_complete_statement", - "start_line": 181, - "end_line": 195, + "start_line": 186, + "end_line": 200, "parameters": [ "&self", "code: &str" @@ -92657,8 +122317,8 @@ }, { "name": "closure", - "start_line": 190, - "end_line": 190, + "start_line": 195, + "end_line": 195, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -92675,8 +122335,8 @@ }, { "name": "closure", - "start_line": 191, - "end_line": 191, + "start_line": 196, + "end_line": 196, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -92693,8 +122353,8 @@ }, { "name": "version", - "start_line": 199, - "end_line": 201, + "start_line": 204, + "end_line": 206, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -92706,8 +122366,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } } ], @@ -92722,39 +122382,7 @@ }, { "type": "rust_use", - "module_path": "box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox, AddBox}", - "imported_names": [], - "alias": null, - "line_number": 48, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "environment::{Environment, PythonCompatEnvironment}", - "imported_names": [], - "alias": null, - "line_number": 49, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "tokenizer::{NyashTokenizer, TokenType, Token}", - "imported_names": [], - "alias": null, - "line_number": 50, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "type_box::{TypeBox, TypeRegistry, MethodSignature}", - "imported_names": [], - "alias": null, - "line_number": 51, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "ast::{ASTNode, BinaryOperator, LiteralValue}", + "module_path": "box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox}", "imported_names": [], "alias": null, "line_number": 52, @@ -92762,7 +122390,7 @@ }, { "type": "rust_use", - "module_path": "parser::{NyashParser, ParseError}", + "module_path": "box_arithmetic::{AddBox, SubtractBox, MultiplyBox, DivideBox, ModuloBox, CompareBox}", "imported_names": [], "alias": null, "line_number": 53, @@ -92770,7 +122398,7 @@ }, { "type": "rust_use", - "module_path": "interpreter::{NyashInterpreter, RuntimeError}", + "module_path": "environment::{Environment, PythonCompatEnvironment}", "imported_names": [], "alias": null, "line_number": 54, @@ -92778,7 +122406,7 @@ }, { "type": "rust_use", - "module_path": "instance::InstanceBox", + "module_path": "tokenizer::{NyashTokenizer, TokenType, Token}", "imported_names": [], "alias": null, "line_number": 55, @@ -92786,7 +122414,7 @@ }, { "type": "rust_use", - "module_path": "channel_box::{ChannelBox, MessageBox}", + "module_path": "type_box::{TypeBox, TypeRegistry, MethodSignature}", "imported_names": [], "alias": null, "line_number": 56, @@ -92794,7 +122422,7 @@ }, { "type": "rust_use", - "module_path": "boxes::math_box::{MathBox, FloatBox, RangeBox}", + "module_path": "ast::{ASTNode, BinaryOperator, LiteralValue}", "imported_names": [], "alias": null, "line_number": 57, @@ -92802,7 +122430,7 @@ }, { "type": "rust_use", - "module_path": "boxes::time_box::{TimeBox, DateTimeBox, TimerBox}", + "module_path": "parser::{NyashParser, ParseError}", "imported_names": [], "alias": null, "line_number": 58, @@ -92810,7 +122438,7 @@ }, { "type": "rust_use", - "module_path": "boxes::map_box::MapBox", + "module_path": "interpreter::{NyashInterpreter, RuntimeError}", "imported_names": [], "alias": null, "line_number": 59, @@ -92818,7 +122446,7 @@ }, { "type": "rust_use", - "module_path": "boxes::random_box::RandomBox", + "module_path": "instance::InstanceBox", "imported_names": [], "alias": null, "line_number": 60, @@ -92826,7 +122454,7 @@ }, { "type": "rust_use", - "module_path": "boxes::sound_box::SoundBox", + "module_path": "channel_box::{ChannelBox, MessageBox}", "imported_names": [], "alias": null, "line_number": 61, @@ -92834,7 +122462,7 @@ }, { "type": "rust_use", - "module_path": "boxes::debug_box::DebugBox", + "module_path": "boxes::math_box::{MathBox, FloatBox, RangeBox}", "imported_names": [], "alias": null, "line_number": 62, @@ -92842,7 +122470,7 @@ }, { "type": "rust_use", - "module_path": "boxes::console_box::ConsoleBox", + "module_path": "boxes::time_box::{TimeBox, DateTimeBox, TimerBox}", "imported_names": [], "alias": null, "line_number": 63, @@ -92850,7 +122478,7 @@ }, { "type": "rust_use", - "module_path": "method_box::{MethodBox, BoxType, FunctionDefinition, EphemeralInstance}", + "module_path": "boxes::map_box::MapBox", "imported_names": [], "alias": null, "line_number": 64, @@ -92858,7 +122486,7 @@ }, { "type": "rust_use", - "module_path": "boxes::null_box::{NullBox, null}", + "module_path": "boxes::random_box::RandomBox", "imported_names": [], "alias": null, "line_number": 65, @@ -92866,18 +122494,58 @@ }, { "type": "rust_use", - "module_path": "value::NyashValue", + "module_path": "boxes::sound_box::SoundBox", + "imported_names": [], + "alias": null, + "line_number": 66, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::debug_box::DebugBox", + "imported_names": [], + "alias": null, + "line_number": 67, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::console_box::ConsoleBox", "imported_names": [], "alias": null, "line_number": 68, "metadata": {} }, + { + "type": "rust_use", + "module_path": "method_box::{MethodBox, BoxType, FunctionDefinition, EphemeralInstance}", + "imported_names": [], + "alias": null, + "line_number": 69, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::null_box::{NullBox, null}", + "imported_names": [], + "alias": null, + "line_number": 70, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "value::NyashValue", + "imported_names": [], + "alias": null, + "line_number": 73, + "metadata": {} + }, { "type": "rust_use", "module_path": "wasm_test::wasm_test::test_direct_canvas_draw", "imported_names": [], "alias": null, - "line_number": 72, + "line_number": 77, "metadata": {} } ], @@ -92896,7 +122564,7 @@ "stats": { "class_count": 2, "function_count": 11, - "import_count": 21, + "import_count": 22, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -92927,62 +122595,6 @@ "attributes": {}, "source_text": null }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 48, - "end_line": 48, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 49, - "end_line": 49, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 50, - "end_line": 50, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 51, - "end_line": 51, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "import", "name": "", @@ -93179,6 +122791,34 @@ "attributes": {}, "source_text": null }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "import", "name": "", @@ -93197,8 +122837,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 72, - "end_line": 72, + "start_line": 69, + "end_line": 69, "start_column": 0, "end_column": 0, "depth": 1, @@ -93208,11 +122848,39 @@ "source_text": null }, { - "type": "class", - "name": "NyashWasm", + "type": "import", + "name": "", + "full_name": "", + "start_line": 70, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", "full_name": "", "start_line": 77, - "end_line": 79, + "end_line": 77, "start_column": 0, "end_column": 0, "depth": 1, @@ -93225,8 +122893,22 @@ "type": "class", "name": "NyashWasm", "full_name": "", - "start_line": 83, - "end_line": 202, + "start_line": 82, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashWasm", + "full_name": "", + "start_line": 88, + "end_line": 207, "start_column": 0, "end_column": 0, "depth": 1, @@ -93239,8 +122921,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 86, - "end_line": 98, + "start_line": 91, + "end_line": 103, "start_column": 0, "end_column": 0, "depth": 3, @@ -93253,8 +122935,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 91, - "end_line": 91, + "start_line": 96, + "end_line": 96, "start_column": 0, "end_column": 0, "depth": 5, @@ -93267,8 +122949,8 @@ "type": "function", "name": "eval", "full_name": "", - "start_line": 102, - "end_line": 155, + "start_line": 107, + "end_line": 160, "start_column": 0, "end_column": 0, "depth": 3, @@ -93281,8 +122963,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 104, - "end_line": 104, + "start_line": 109, + "end_line": 109, "start_column": 0, "end_column": 0, "depth": 5, @@ -93295,8 +122977,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 105, - "end_line": 107, + "start_line": 110, + "end_line": 112, "start_column": 0, "end_column": 0, "depth": 6, @@ -93309,8 +122991,8 @@ "type": "variable", "name": "Vec<&str>", "full_name": "", - "start_line": 110, - "end_line": 113, + "start_line": 115, + "end_line": 118, "start_column": 0, "end_column": 0, "depth": 5, @@ -93323,8 +123005,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 116, - "end_line": 118, + "start_line": 121, + "end_line": 123, "start_column": 0, "end_column": 0, "depth": 6, @@ -93337,8 +123019,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 121, - "end_line": 121, + "start_line": 126, + "end_line": 126, "start_column": 0, "end_column": 0, "depth": 5, @@ -93351,8 +123033,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 122, - "end_line": 122, + "start_line": 127, + "end_line": 127, "start_column": 0, "end_column": 0, "depth": 5, @@ -93365,8 +123047,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 124, - "end_line": 140, + "start_line": 129, + "end_line": 145, "start_column": 0, "end_column": 0, "depth": 6, @@ -93379,8 +123061,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 130, - "end_line": 139, + "start_line": 135, + "end_line": 144, "start_column": 0, "end_column": 0, "depth": 9, @@ -93393,8 +123075,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 131, - "end_line": 131, + "start_line": 136, + "end_line": 136, "start_column": 0, "end_column": 0, "depth": 11, @@ -93407,8 +123089,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 132, - "end_line": 134, + "start_line": 137, + "end_line": 139, "start_column": 0, "end_column": 0, "depth": 12, @@ -93421,8 +123103,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 135, - "end_line": 137, + "start_line": 140, + "end_line": 142, "start_column": 0, "end_column": 0, "depth": 12, @@ -93435,8 +123117,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 143, - "end_line": 148, + "start_line": 148, + "end_line": 153, "start_column": 0, "end_column": 0, "depth": 6, @@ -93449,8 +123131,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 144, - "end_line": 144, + "start_line": 149, + "end_line": 149, "start_column": 0, "end_column": 0, "depth": 8, @@ -93463,8 +123145,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 145, - "end_line": 147, + "start_line": 150, + "end_line": 152, "start_column": 0, "end_column": 0, "depth": 9, @@ -93477,8 +123159,8 @@ "type": "function", "name": "eval_single_block", "full_name": "", - "start_line": 158, - "end_line": 178, + "start_line": 163, + "end_line": 183, "start_column": 0, "end_column": 0, "depth": 3, @@ -93491,8 +123173,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 160, - "end_line": 163, + "start_line": 165, + "end_line": 168, "start_column": 0, "end_column": 0, "depth": 5, @@ -93505,8 +123187,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 169, - "end_line": 169, + "start_line": 174, + "end_line": 174, "start_column": 0, "end_column": 0, "depth": 10, @@ -93519,8 +123201,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 170, - "end_line": 174, + "start_line": 175, + "end_line": 179, "start_column": 0, "end_column": 0, "depth": 11, @@ -93533,8 +123215,8 @@ "type": "function", "name": "is_complete_statement", "full_name": "", - "start_line": 181, - "end_line": 195, + "start_line": 186, + "end_line": 200, "start_column": 0, "end_column": 0, "depth": 3, @@ -93547,8 +123229,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 182, - "end_line": 182, + "start_line": 187, + "end_line": 187, "start_column": 0, "end_column": 0, "depth": 5, @@ -93561,8 +123243,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 185, - "end_line": 187, + "start_line": 190, + "end_line": 192, "start_column": 0, "end_column": 0, "depth": 6, @@ -93575,8 +123257,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 190, - "end_line": 190, + "start_line": 195, + "end_line": 195, "start_column": 0, "end_column": 0, "depth": 5, @@ -93589,8 +123271,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 191, - "end_line": 191, + "start_line": 196, + "end_line": 196, "start_column": 0, "end_column": 0, "depth": 5, @@ -93603,8 +123285,8 @@ "type": "function", "name": "version", "full_name": "", - "start_line": 199, - "end_line": 201, + "start_line": 204, + "end_line": 206, "start_column": 0, "end_column": 0, "depth": 3, @@ -93618,16 +123300,16 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 51, + "total_nodes": 52, "max_depth": 12, "node_type_counts": { "class": 2, - "file_root": 1, + "function": 5, + "variable": 12, "if_statement": 9, "for_loop": 1, - "variable": 12, - "function": 5, - "import": 21 + "file_root": 1, + "import": 22 }, "classes": 2, "functions": 5, @@ -93635,19 +123317,19 @@ "variables": 12, "control_structures": 10 }, - "generated_at": "2025-08-13T11:36:21.762940537Z" + "generated_at": "2025-08-15T16:17:53.934376920Z" }, { "file_info": { "name": "main.rs", "path": "src/main.rs", "size_bytes": 0, - "total_lines": 1253, - "code_lines": 977, - "comment_lines": 100, - "empty_lines": 176, - "code_ratio": 0.7797286512370312, - "analyzed_at": "2025-08-13T11:36:21.763066548Z", + "total_lines": 69, + "code_lines": 41, + "comment_lines": 18, + "empty_lines": 10, + "code_ratio": 0.5942028985507246, + "analyzed_at": "2025-08-15T16:17:53.936406234Z", "metadata": {} }, "language": "rust", @@ -93655,8 +123337,8 @@ "functions": [ { "name": "main", - "start_line": 43, - "end_line": 146, + "start_line": 49, + "end_line": 56, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -93671,259 +123353,10 @@ "type": "function" } }, - { - "name": "parse_debug_fuel", - "start_line": 149, - "end_line": 155, - "parameters": [ - "value: &str" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "execute_nyash_file", - "start_line": 157, - "end_line": 217, - "parameters": [ - "filename: &str", - "debug_fuel" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "demo_basic_boxes", - "start_line": 219, - "end_line": 239, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "demo_box_operations", - "start_line": 241, - "end_line": 267, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "demo_box_collections", - "start_line": 269, - "end_line": 297, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "demo_environment_system", - "start_line": 299, - "end_line": 388, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "demo_tokenizer_system", - "start_line": 390, - "end_line": 520, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "closure", - "start_line": 436, - "end_line": 436, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "demo_parser_system", - "start_line": 522, - "end_line": 679, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "count_method_calls", - "start_line": 682, - "end_line": 720, - "parameters": [ - "node: &ASTNode", - "count: &mut usize" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "demo_interpreter_system", - "start_line": 722, - "end_line": 1100, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "execute_mir_mode", - "start_line": 1103, - "end_line": 1186, - "parameters": [ - "filename: &str", - "dump_mir: bool", - "verify_mir: bool", - "verbose: bool" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "execute_vm_mode", - "start_line": 1189, - "end_line": 1239, - "parameters": [ - "filename: &str" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, { "name": "test_main_functionality", - "start_line": 1246, - "end_line": 1252, + "start_line": 64, + "end_line": 68, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -93942,106 +123375,18 @@ "imports": [ { "type": "rust_use", - "module_path": "box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox, AddBox, BoxCore}", + "module_path": "cli::CliConfig", "imported_names": [], "alias": null, - "line_number": 24, + "line_number": 45, "metadata": {} }, { "type": "rust_use", - "module_path": "environment::{Environment, PythonCompatEnvironment}", + "module_path": "runner::NyashRunner", "imported_names": [], "alias": null, - "line_number": 25, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "tokenizer::{NyashTokenizer, TokenType}", - "imported_names": [], - "alias": null, - "line_number": 26, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "ast::ASTNode", - "imported_names": [], - "alias": null, - "line_number": 27, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "parser::NyashParser", - "imported_names": [], - "alias": null, - "line_number": 28, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "interpreter::NyashInterpreter", - "imported_names": [], - "alias": null, - "line_number": 29, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "mir::{MirCompiler, MirPrinter}", - "imported_names": [], - "alias": null, - "line_number": 33, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "backend::VM", - "imported_names": [], - "alias": null, - "line_number": 37, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "std::env", - "imported_names": [], - "alias": null, - "line_number": 38, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "std::fs", - "imported_names": [], - "alias": null, - "line_number": 39, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "std::process", - "imported_names": [], - "alias": null, - "line_number": 40, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "clap::{Arg, Command}", - "imported_names": [], - "alias": null, - "line_number": 41, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "std::io::Write", - "imported_names": [], - "alias": null, - "line_number": 196, + "line_number": 46, "metadata": {} }, { @@ -94049,7 +123394,15 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 1243, + "line_number": 60, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "box_trait::{StringBox, BoxCore}", + "imported_names": [], + "alias": null, + "line_number": 61, "metadata": {} } ], @@ -94067,8 +123420,8 @@ "metadata": {}, "stats": { "class_count": 0, - "function_count": 15, - "import_count": 14, + "function_count": 2, + "import_count": 4, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -94089,8 +123442,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 24, - "end_line": 24, + "start_line": 45, + "end_line": 45, "start_column": 0, "end_column": 0, "depth": 1, @@ -94103,148 +123456,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 25, - "end_line": 25, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 26, - "end_line": 26, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 27, - "end_line": 27, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 28, - "end_line": 28, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 29, - "end_line": 29, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 33, - "end_line": 33, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 37, - "end_line": 37, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 38, - "end_line": 38, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 39, - "end_line": 39, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 40, - "end_line": 40, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 41, - "end_line": 41, + "start_line": 46, + "end_line": 46, "start_column": 0, "end_column": 0, "depth": 1, @@ -94257,8 +123470,8 @@ "type": "function", "name": "main", "full_name": "", - "start_line": 43, - "end_line": 146, + "start_line": 49, + "end_line": 56, "start_column": 0, "end_column": 0, "depth": 1, @@ -94271,8 +123484,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 45, - "end_line": 87, + "start_line": 51, + "end_line": 51, "start_column": 0, "end_column": 0, "depth": 3, @@ -94285,2178 +123498,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 90, - "end_line": 90, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 93, - "end_line": 93, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 94, - "end_line": 94, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 95, - "end_line": 95, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 96, - "end_line": 96, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 98, - "end_line": 145, - "start_column": 0, - "end_column": 0, - "depth": 4, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 100, - "end_line": 116, - "start_column": 0, - "end_column": 0, - "depth": 7, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 103, - "end_line": 116, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 108, - "end_line": 112, - "start_column": 0, - "end_column": 0, - "depth": 13, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parse_debug_fuel", - "full_name": "", - "start_line": 149, - "end_line": 155, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 150, - "end_line": 154, - "start_column": 0, - "end_column": 0, - "depth": 4, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_nyash_file", - "full_name": "", - "start_line": 157, - "end_line": 217, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 159, - "end_line": 165, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 175, - "end_line": 184, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 191, - "end_line": 199, - "start_column": 0, - "end_column": 0, - "depth": 4, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 196, - "end_line": 196, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 197, - "end_line": 197, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 198, - "end_line": 198, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 204, - "end_line": 204, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "demo_basic_boxes", - "full_name": "", - "start_line": 219, - "end_line": 239, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 223, - "end_line": 223, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 224, - "end_line": 224, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 225, - "end_line": 225, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 226, - "end_line": 226, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "demo_box_operations", - "full_name": "", - "start_line": 241, - "end_line": 267, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 245, - "end_line": 245, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 246, - "end_line": 246, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 247, - "end_line": 247, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 248, - "end_line": 248, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 253, - "end_line": 253, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 254, - "end_line": 254, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 255, - "end_line": 255, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 256, - "end_line": 256, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 261, - "end_line": 261, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 262, - "end_line": 262, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 263, - "end_line": 263, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 264, - "end_line": 264, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "demo_box_collections", - "full_name": "", - "start_line": 269, - "end_line": 297, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "Vec>", - "full_name": "", - "start_line": 273, - "end_line": 273, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 281, - "end_line": 287, - "start_column": 0, - "end_column": 0, - "depth": 4, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 291, - "end_line": 291, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 292, - "end_line": 292, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 293, - "end_line": 293, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "demo_environment_system", - "full_name": "", - "start_line": 299, - "end_line": 388, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 303, - "end_line": 303, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 314, - "end_line": 314, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 346, - "end_line": 346, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 349, - "end_line": 349, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 353, - "end_line": 353, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 358, - "end_line": 358, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 359, - "end_line": 361, - "start_column": 0, - "end_column": 0, - "depth": 4, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 367, - "end_line": 367, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 368, - "end_line": 368, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 375, - "end_line": 375, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 378, - "end_line": 378, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 384, - "end_line": 384, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 385, - "end_line": 387, - "start_column": 0, - "end_column": 0, - "depth": 4, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "demo_tokenizer_system", - "full_name": "", - "start_line": 390, - "end_line": 520, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 395, - "end_line": 395, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 396, - "end_line": 396, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 402, - "end_line": 408, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 403, - "end_line": 405, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 415, - "end_line": 430, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 432, - "end_line": 432, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "Vec<_>", - "full_name": "", - "start_line": 435, - "end_line": 437, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 443, - "end_line": 445, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 448, - "end_line": 448, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 449, - "end_line": 469, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 450, - "end_line": 467, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 472, - "end_line": 474, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 481, - "end_line": 481, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 482, - "end_line": 482, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 486, - "end_line": 490, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 487, - "end_line": 489, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 497, - "end_line": 497, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 498, - "end_line": 498, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 502, - "end_line": 506, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 503, - "end_line": 505, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 513, - "end_line": 513, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 514, - "end_line": 514, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "demo_parser_system", - "full_name": "", - "start_line": 522, - "end_line": 679, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 527, - "end_line": 535, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 542, - "end_line": 547, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 544, - "end_line": 546, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 554, - "end_line": 559, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 565, - "end_line": 570, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 567, - "end_line": 569, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 577, - "end_line": 580, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 586, - "end_line": 592, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 587, - "end_line": 591, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 588, - "end_line": 590, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 599, - "end_line": 610, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 616, - "end_line": 620, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 617, - "end_line": 619, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 627, - "end_line": 642, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 648, - "end_line": 675, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 652, - "end_line": 652, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 653, - "end_line": 653, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 654, - "end_line": 654, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 655, - "end_line": 655, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 657, - "end_line": 667, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "count_method_calls", - "full_name": "", - "start_line": 682, - "end_line": 720, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 688, - "end_line": 690, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 704, - "end_line": 706, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 709, - "end_line": 711, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 714, - "end_line": 716, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "demo_interpreter_system", - "full_name": "", - "start_line": 722, - "end_line": 1100, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 727, - "end_line": 732, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 736, - "end_line": 736, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 750, - "end_line": 755, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 759, - "end_line": 759, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 772, - "end_line": 782, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 786, - "end_line": 786, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 799, - "end_line": 806, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 810, - "end_line": 810, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 823, - "end_line": 834, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 838, - "end_line": 838, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 851, - "end_line": 879, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 883, - "end_line": 883, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 896, - "end_line": 902, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 906, - "end_line": 906, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 925, - "end_line": 925, - "start_column": 0, - "end_column": 0, - "depth": 13, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 944, - "end_line": 964, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 968, - "end_line": 968, - "start_column": 0, - "end_column": 0, - "depth": 13, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 987, - "end_line": 987, - "start_column": 0, - "end_column": 0, - "depth": 13, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1006, - "end_line": 1016, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1020, - "end_line": 1020, - "start_column": 0, - "end_column": 0, - "depth": 13, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1039, - "end_line": 1039, - "start_column": 0, - "end_column": 0, - "depth": 13, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1060, - "end_line": 1086, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1090, - "end_line": 1090, - "start_column": 0, - "end_column": 0, - "depth": 13, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_mir_mode", - "full_name": "", - "start_line": 1103, - "end_line": 1186, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1105, - "end_line": 1111, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1114, - "end_line": 1120, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1123, - "end_line": 1123, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1124, - "end_line": 1130, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1133, - "end_line": 1150, - "start_column": 0, - "end_column": 0, - "depth": 4, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1136, - "end_line": 1138, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1142, - "end_line": 1144, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1145, - "end_line": 1147, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1153, - "end_line": 1162, - "start_column": 0, - "end_column": 0, - "depth": 4, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1154, - "end_line": 1158, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1154, - "end_line": 1158, - "start_column": 0, - "end_column": 0, - "depth": 7, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1160, - "end_line": 1160, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1165, - "end_line": 1185, - "start_column": 0, - "end_column": 0, - "depth": 4, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1166, - "end_line": 1166, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1174, - "end_line": 1184, - "start_column": 0, - "end_column": 0, - "depth": 7, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1175, - "end_line": 1183, - "start_column": 0, - "end_column": 0, - "depth": 10, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1176, - "end_line": 1176, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "execute_vm_mode", - "full_name": "", - "start_line": 1189, - "end_line": 1239, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1191, - "end_line": 1197, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1200, - "end_line": 1206, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1209, - "end_line": 1209, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1210, - "end_line": 1216, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1219, - "end_line": 1225, - "start_column": 0, - "end_column": 0, - "depth": 4, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1221, - "end_line": 1223, - "start_column": 0, - "end_column": 0, - "depth": 7, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1228, - "end_line": 1228, + "start_line": 54, + "end_line": 54, "start_column": 0, "end_column": 0, "depth": 3, @@ -96469,8 +123512,22 @@ "type": "import", "name": "", "full_name": "", - "start_line": 1243, - "end_line": 1243, + "start_line": 60, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 61, "start_column": 0, "end_column": 0, "depth": 3, @@ -96483,8 +123540,8 @@ "type": "function", "name": "test_main_functionality", "full_name": "", - "start_line": 1246, - "end_line": 1252, + "start_line": 64, + "end_line": 68, "start_column": 0, "end_column": 0, "depth": 3, @@ -96497,8 +123554,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1249, - "end_line": 1249, + "start_line": 66, + "end_line": 66, "start_column": 0, "end_column": 0, "depth": 5, @@ -96512,35 +123569,33 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 174, - "max_depth": 15, + "total_nodes": 10, + "max_depth": 5, "node_type_counts": { - "variable": 101, - "function": 14, - "import": 14, + "import": 4, + "function": 2, "file_root": 1, - "if_statement": 24, - "for_loop": 20 + "variable": 3 }, "classes": 0, - "functions": 14, + "functions": 2, "methods": 0, - "variables": 101, - "control_structures": 44 + "variables": 3, + "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.763143658Z" + "generated_at": "2025-08-15T16:17:53.936410557Z" }, { "file_info": { "name": "message_bus.rs", "path": "src/messaging/message_bus.rs", "size_bytes": 0, - "total_lines": 141, - "code_lines": 87, + "total_lines": 140, + "code_lines": 86, "comment_lines": 35, "empty_lines": 19, - "code_ratio": 0.6170212765957447, - "analyzed_at": "2025-08-13T11:36:21.770933102Z", + "code_ratio": 0.6142857142857143, + "analyzed_at": "2025-08-15T16:17:53.941540960Z", "metadata": {} }, "language": "rust", @@ -96562,7 +123617,7 @@ "name": "BusEndpoint", "parent_class": null, "start_line": 36, - "end_line": 64, + "end_line": 63, "methods": [], "properties": [], "member_variables": [], @@ -96573,21 +123628,21 @@ { "name": "SendError", "parent_class": null, - "start_line": 68, - "end_line": 73, + "start_line": 67, + "end_line": 72, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "enum", - "modifiers": "pub" + "modifiers": "pub", + "type": "enum" } }, { "name": "MessageBusData", "parent_class": null, - "start_line": 76, - "end_line": 79, + "start_line": 75, + "end_line": 78, "methods": [], "properties": [], "member_variables": [], @@ -96599,8 +123654,8 @@ { "name": "MessageBusData", "parent_class": null, - "start_line": 81, - "end_line": 87, + "start_line": 80, + "end_line": 86, "methods": [], "properties": [], "member_variables": [], @@ -96612,8 +123667,8 @@ { "name": "MessageBusData", "parent_class": null, - "start_line": 92, - "end_line": 129, + "start_line": 91, + "end_line": 128, "methods": [], "properties": [], "member_variables": [], @@ -96624,8 +123679,8 @@ { "name": "MessageBusData", "parent_class": null, - "start_line": 136, - "end_line": 141, + "start_line": 135, + "end_line": 140, "methods": [], "properties": [], "member_variables": [], @@ -96652,8 +123707,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -96682,7 +123737,7 @@ { "name": "deliver", "start_line": 53, - "end_line": 63, + "end_line": 62, "parameters": [ "&self", "intent: IntentBox", @@ -96704,8 +123759,8 @@ }, { "name": "fmt", - "start_line": 82, - "end_line": 86, + "start_line": 81, + "end_line": 85, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -96725,8 +123780,8 @@ }, { "name": "new", - "start_line": 94, - "end_line": 98, + "start_line": 93, + "end_line": 97, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -96743,8 +123798,8 @@ }, { "name": "register_node", - "start_line": 101, - "end_line": 103, + "start_line": 100, + "end_line": 102, "parameters": [ "&mut self", "id: String", @@ -96760,14 +123815,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "unregister_node", - "start_line": 106, - "end_line": 108, + "start_line": 105, + "end_line": 107, "parameters": [ "&mut self", "id: &str" @@ -96782,14 +123837,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "node_exists", - "start_line": 111, - "end_line": 113, + "start_line": 110, + "end_line": 112, "parameters": [ "&self", "id: &str" @@ -96810,8 +123865,8 @@ }, { "name": "route", - "start_line": 116, - "end_line": 123, + "start_line": 115, + "end_line": 122, "parameters": [ "&self", "to: &str", @@ -96828,14 +123883,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "get_nodes", - "start_line": 126, - "end_line": 128, + "start_line": 125, + "end_line": 127, "parameters": [ "&self" ], @@ -96855,8 +123910,8 @@ }, { "name": "closure", - "start_line": 132, - "end_line": 134, + "start_line": 131, + "end_line": 133, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -96873,8 +123928,8 @@ }, { "name": "global", - "start_line": 138, - "end_line": 140, + "start_line": 137, + "end_line": 139, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -96886,8 +123941,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } } ], @@ -97032,7 +124087,7 @@ "name": "BusEndpoint", "full_name": "", "start_line": 36, - "end_line": 64, + "end_line": 63, "start_column": 0, "end_column": 0, "depth": 1, @@ -97088,7 +124143,7 @@ "name": "deliver", "full_name": "", "start_line": 53, - "end_line": 63, + "end_line": 62, "start_column": 0, "end_column": 0, "depth": 3, @@ -97125,26 +124180,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 56, - "end_line": 56, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 58, - "end_line": 62, + "start_line": 57, + "end_line": 61, "start_column": 0, "end_column": 0, "depth": 6, @@ -97157,8 +124198,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 59, - "end_line": 61, + "start_line": 58, + "end_line": 60, "start_column": 0, "end_column": 0, "depth": 9, @@ -97171,8 +124212,8 @@ "type": "class", "name": "SendError", "full_name": "", - "start_line": 68, - "end_line": 73, + "start_line": 67, + "end_line": 72, "start_column": 0, "end_column": 0, "depth": 1, @@ -97185,8 +124226,8 @@ "type": "class", "name": "MessageBusData", "full_name": "", - "start_line": 76, - "end_line": 79, + "start_line": 75, + "end_line": 78, "start_column": 0, "end_column": 0, "depth": 1, @@ -97199,8 +124240,8 @@ "type": "class", "name": "MessageBusData", "full_name": "", - "start_line": 81, - "end_line": 87, + "start_line": 80, + "end_line": 86, "start_column": 0, "end_column": 0, "depth": 1, @@ -97213,8 +124254,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 82, - "end_line": 86, + "start_line": 81, + "end_line": 85, "start_column": 0, "end_column": 0, "depth": 3, @@ -97227,8 +124268,8 @@ "type": "class", "name": "MessageBusData", "full_name": "", - "start_line": 92, - "end_line": 129, + "start_line": 91, + "end_line": 128, "start_column": 0, "end_column": 0, "depth": 1, @@ -97241,8 +124282,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 94, - "end_line": 98, + "start_line": 93, + "end_line": 97, "start_column": 0, "end_column": 0, "depth": 3, @@ -97255,8 +124296,8 @@ "type": "function", "name": "register_node", "full_name": "", - "start_line": 101, - "end_line": 103, + "start_line": 100, + "end_line": 102, "start_column": 0, "end_column": 0, "depth": 3, @@ -97269,8 +124310,8 @@ "type": "function", "name": "unregister_node", "full_name": "", - "start_line": 106, - "end_line": 108, + "start_line": 105, + "end_line": 107, "start_column": 0, "end_column": 0, "depth": 3, @@ -97283,8 +124324,8 @@ "type": "function", "name": "node_exists", "full_name": "", - "start_line": 111, - "end_line": 113, + "start_line": 110, + "end_line": 112, "start_column": 0, "end_column": 0, "depth": 3, @@ -97297,8 +124338,8 @@ "type": "function", "name": "route", "full_name": "", - "start_line": 116, - "end_line": 123, + "start_line": 115, + "end_line": 122, "start_column": 0, "end_column": 0, "depth": 3, @@ -97311,8 +124352,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 117, - "end_line": 122, + "start_line": 116, + "end_line": 121, "start_column": 0, "end_column": 0, "depth": 6, @@ -97325,8 +124366,8 @@ "type": "function", "name": "get_nodes", "full_name": "", - "start_line": 126, - "end_line": 128, + "start_line": 125, + "end_line": 127, "start_column": 0, "end_column": 0, "depth": 3, @@ -97339,8 +124380,8 @@ "type": "variable", "name": "GLOBAL_MESSAGE_BUS", "full_name": "", - "start_line": 132, - "end_line": 134, + "start_line": 131, + "end_line": 133, "start_column": 0, "end_column": 0, "depth": 1, @@ -97353,8 +124394,8 @@ "type": "class", "name": "MessageBusData", "full_name": "", - "start_line": 136, - "end_line": 141, + "start_line": 135, + "end_line": 140, "start_column": 0, "end_column": 0, "depth": 1, @@ -97367,8 +124408,8 @@ "type": "function", "name": "global", "full_name": "", - "start_line": 138, - "end_line": 140, + "start_line": 137, + "end_line": 139, "start_column": 0, "end_column": 0, "depth": 3, @@ -97382,24 +124423,24 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 31, + "total_nodes": 30, "max_depth": 9, "node_type_counts": { + "class": 7, + "function": 11, "if_statement": 2, "for_loop": 1, - "file_root": 1, - "class": 7, "import": 4, - "variable": 5, - "function": 11 + "variable": 4, + "file_root": 1 }, "classes": 7, "functions": 11, "methods": 0, - "variables": 5, + "variables": 4, "control_structures": 3 }, - "generated_at": "2025-08-13T11:36:21.770942688Z" + "generated_at": "2025-08-15T16:17:53.941550531Z" }, { "file_info": { @@ -97411,7 +124452,7 @@ "comment_lines": 5, "empty_lines": 2, "code_ratio": 0.2222222222222222, - "analyzed_at": "2025-08-13T11:36:21.768286715Z", + "analyzed_at": "2025-08-15T16:17:53.940472679Z", "metadata": {} }, "language": "rust", @@ -97490,19 +124531,19 @@ "variables": 0, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.768287757Z" + "generated_at": "2025-08-15T16:17:53.940474238Z" }, { "file_info": { "name": "method_box.rs", "path": "src/method_box.rs", "size_bytes": 0, - "total_lines": 217, - "code_lines": 146, - "comment_lines": 35, - "empty_lines": 36, - "code_ratio": 0.6728110599078341, - "analyzed_at": "2025-08-13T11:36:21.763465058Z", + "total_lines": 220, + "code_lines": 149, + "comment_lines": 36, + "empty_lines": 35, + "code_ratio": 0.6772727272727272, + "analyzed_at": "2025-08-15T16:17:53.936860199Z", "metadata": {} }, "language": "rust", @@ -97529,8 +124570,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -97542,8 +124583,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { @@ -97562,7 +124603,7 @@ "name": "MethodBox", "parent_class": null, "start_line": 95, - "end_line": 123, + "end_line": 126, "methods": [], "properties": [], "member_variables": [], @@ -97574,21 +124615,21 @@ { "name": "MethodBox", "parent_class": null, - "start_line": 125, - "end_line": 145, + "start_line": 128, + "end_line": 148, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "BoxCore" + "implementing_trait": "BoxCore", + "type": "impl" } }, { "name": "MethodBox", "parent_class": null, - "start_line": 147, - "end_line": 151, + "start_line": 150, + "end_line": 154, "methods": [], "properties": [], "member_variables": [], @@ -97600,8 +124641,8 @@ { "name": "EphemeralInstance", "parent_class": null, - "start_line": 155, - "end_line": 161, + "start_line": 158, + "end_line": 164, "methods": [], "properties": [], "member_variables": [], @@ -97613,8 +124654,8 @@ { "name": "EphemeralInstance", "parent_class": null, - "start_line": 165, - "end_line": 212, + "start_line": 168, + "end_line": 215, "methods": [], "properties": [], "member_variables": [], @@ -97703,8 +124744,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -97788,10 +124829,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 123, + "end_line": 125, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "box_id", - "start_line": 126, - "end_line": 128, + "start_line": 129, + "end_line": 131, "parameters": [ "&self" ], @@ -97810,8 +124871,8 @@ }, { "name": "parent_type_id", - "start_line": 130, - "end_line": 132, + "start_line": 133, + "end_line": 135, "parameters": [ "&self" ], @@ -97830,8 +124891,8 @@ }, { "name": "fmt_box", - "start_line": 134, - "end_line": 136, + "start_line": 137, + "end_line": 139, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -97851,8 +124912,8 @@ }, { "name": "as_any", - "start_line": 138, - "end_line": 140, + "start_line": 141, + "end_line": 143, "parameters": [ "&self" ], @@ -97871,8 +124932,8 @@ }, { "name": "as_any_mut", - "start_line": 142, - "end_line": 144, + "start_line": 145, + "end_line": 147, "parameters": [ "&mut self" ], @@ -97891,8 +124952,8 @@ }, { "name": "fmt", - "start_line": 148, - "end_line": 150, + "start_line": 151, + "end_line": 153, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -97912,8 +124973,8 @@ }, { "name": "new", - "start_line": 167, - "end_line": 172, + "start_line": 170, + "end_line": 175, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -97925,14 +124986,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "from_instance", - "start_line": 175, - "end_line": 180, + "start_line": 178, + "end_line": 183, "parameters": [ "instance" ], @@ -97952,8 +125013,8 @@ }, { "name": "set_local", - "start_line": 183, - "end_line": 185, + "start_line": 186, + "end_line": 188, "parameters": [ "&mut self", "name: String", @@ -97975,8 +125036,8 @@ }, { "name": "get_local", - "start_line": 188, - "end_line": 190, + "start_line": 191, + "end_line": 193, "parameters": [ "&self", "name: &str" @@ -97991,14 +125052,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "closure", - "start_line": 189, - "end_line": 189, + "start_line": 192, + "end_line": 192, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -98015,8 +125076,8 @@ }, { "name": "resolve_variable", - "start_line": 193, - "end_line": 211, + "start_line": 196, + "end_line": 214, "parameters": [ "&self", "name: &str" @@ -98031,14 +125092,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "create_method_box", - "start_line": 215, - "end_line": 217, + "start_line": 218, + "end_line": 220, "parameters": [ "instance", "method_name: &str" @@ -98053,8 +125114,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } } ], @@ -98112,7 +125173,7 @@ "module_path": "std::collections::HashMap", "imported_names": [], "alias": null, - "line_number": 163, + "line_number": 166, "metadata": {} } ], @@ -98130,7 +125191,7 @@ "metadata": {}, "stats": { "class_count": 9, - "function_count": 21, + "function_count": 22, "import_count": 7, "export_count": 0, "unique_calls": 0, @@ -98377,7 +125438,7 @@ "name": "MethodBox", "full_name": "", "start_line": 95, - "end_line": 123, + "end_line": 126, "start_column": 0, "end_column": 0, "depth": 1, @@ -98484,12 +125545,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 123, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "MethodBox", "full_name": "", - "start_line": 125, - "end_line": 145, + "start_line": 128, + "end_line": 148, "start_column": 0, "end_column": 0, "depth": 1, @@ -98502,8 +125577,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 126, - "end_line": 128, + "start_line": 129, + "end_line": 131, "start_column": 0, "end_column": 0, "depth": 3, @@ -98516,8 +125591,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 130, - "end_line": 132, + "start_line": 133, + "end_line": 135, "start_column": 0, "end_column": 0, "depth": 3, @@ -98530,8 +125605,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 134, - "end_line": 136, + "start_line": 137, + "end_line": 139, "start_column": 0, "end_column": 0, "depth": 3, @@ -98544,8 +125619,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 138, - "end_line": 140, + "start_line": 141, + "end_line": 143, "start_column": 0, "end_column": 0, "depth": 3, @@ -98558,8 +125633,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 142, - "end_line": 144, + "start_line": 145, + "end_line": 147, "start_column": 0, "end_column": 0, "depth": 3, @@ -98572,8 +125647,8 @@ "type": "class", "name": "MethodBox", "full_name": "", - "start_line": 147, - "end_line": 151, + "start_line": 150, + "end_line": 154, "start_column": 0, "end_column": 0, "depth": 1, @@ -98586,8 +125661,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 148, - "end_line": 150, + "start_line": 151, + "end_line": 153, "start_column": 0, "end_column": 0, "depth": 3, @@ -98600,8 +125675,8 @@ "type": "class", "name": "EphemeralInstance", "full_name": "", - "start_line": 155, - "end_line": 161, + "start_line": 158, + "end_line": 164, "start_column": 0, "end_column": 0, "depth": 1, @@ -98614,8 +125689,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 163, - "end_line": 163, + "start_line": 166, + "end_line": 166, "start_column": 0, "end_column": 0, "depth": 1, @@ -98628,8 +125703,8 @@ "type": "class", "name": "EphemeralInstance", "full_name": "", - "start_line": 165, - "end_line": 212, + "start_line": 168, + "end_line": 215, "start_column": 0, "end_column": 0, "depth": 1, @@ -98642,8 +125717,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 167, - "end_line": 172, + "start_line": 170, + "end_line": 175, "start_column": 0, "end_column": 0, "depth": 3, @@ -98656,8 +125731,8 @@ "type": "function", "name": "from_instance", "full_name": "", - "start_line": 175, - "end_line": 180, + "start_line": 178, + "end_line": 183, "start_column": 0, "end_column": 0, "depth": 3, @@ -98670,8 +125745,8 @@ "type": "function", "name": "set_local", "full_name": "", - "start_line": 183, - "end_line": 185, + "start_line": 186, + "end_line": 188, "start_column": 0, "end_column": 0, "depth": 3, @@ -98684,8 +125759,8 @@ "type": "function", "name": "get_local", "full_name": "", - "start_line": 188, - "end_line": 190, + "start_line": 191, + "end_line": 193, "start_column": 0, "end_column": 0, "depth": 3, @@ -98698,8 +125773,8 @@ "type": "function", "name": "resolve_variable", "full_name": "", - "start_line": 193, - "end_line": 211, + "start_line": 196, + "end_line": 214, "start_column": 0, "end_column": 0, "depth": 3, @@ -98712,8 +125787,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 195, - "end_line": 197, + "start_line": 198, + "end_line": 200, "start_column": 0, "end_column": 0, "depth": 6, @@ -98726,8 +125801,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 200, - "end_line": 207, + "start_line": 203, + "end_line": 210, "start_column": 0, "end_column": 0, "depth": 6, @@ -98740,8 +125815,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 201, - "end_line": 201, + "start_line": 204, + "end_line": 204, "start_column": 0, "end_column": 0, "depth": 8, @@ -98754,8 +125829,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 202, - "end_line": 206, + "start_line": 205, + "end_line": 209, "start_column": 0, "end_column": 0, "depth": 9, @@ -98768,8 +125843,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 203, - "end_line": 205, + "start_line": 206, + "end_line": 208, "start_column": 0, "end_column": 0, "depth": 12, @@ -98782,8 +125857,8 @@ "type": "function", "name": "create_method_box", "full_name": "", - "start_line": 215, - "end_line": 217, + "start_line": 218, + "end_line": 220, "start_column": 0, "end_column": 0, "depth": 1, @@ -98797,23 +125872,23 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 47, + "total_nodes": 48, "max_depth": 13, "node_type_counts": { "import": 7, - "variable": 4, - "if_statement": 7, - "function": 19, "file_root": 1, - "class": 9 + "function": 20, + "variable": 4, + "class": 9, + "if_statement": 7 }, "classes": 9, - "functions": 19, + "functions": 20, "methods": 0, "variables": 4, "control_structures": 7 }, - "generated_at": "2025-08-13T11:36:21.763477832Z" + "generated_at": "2025-08-15T16:17:53.936873211Z" }, { "file_info": { @@ -98825,7 +125900,7 @@ "comment_lines": 55, "empty_lines": 78, "code_ratio": 0.6892523364485982, - "analyzed_at": "2025-08-13T11:36:21.767108193Z", + "analyzed_at": "2025-08-15T16:17:53.942288753Z", "metadata": {} }, "language": "rust", @@ -98839,8 +125914,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -98864,8 +125939,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "fmt::Display", - "type": "impl" + "type": "impl", + "implementing_trait": "fmt::Display" } }, { @@ -98940,8 +126015,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "fmt::Display", - "type": "impl" + "type": "impl", + "implementing_trait": "fmt::Display" } } ], @@ -98963,8 +126038,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -99005,8 +126080,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -99090,8 +126165,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -99175,8 +126250,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -99196,8 +126271,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -99256,8 +126331,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -99316,8 +126391,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -99337,8 +126412,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -99397,8 +126472,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -99503,8 +126578,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -99543,8 +126618,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -101143,13 +128218,13 @@ "total_nodes": 93, "max_depth": 9, "node_type_counts": { - "file_root": 1, - "if_statement": 8, "class": 9, - "import": 5, "function": 36, + "if_statement": 8, "variable": 33, - "for_loop": 1 + "for_loop": 1, + "import": 5, + "file_root": 1 }, "classes": 9, "functions": 36, @@ -101157,19 +128232,19 @@ "variables": 33, "control_structures": 9 }, - "generated_at": "2025-08-13T11:36:21.767132178Z" + "generated_at": "2025-08-15T16:17:53.942312551Z" }, { "file_info": { "name": "effect.rs", "path": "src/mir/effect.rs", "size_bytes": 0, - "total_lines": 295, - "code_lines": 198, - "comment_lines": 44, - "empty_lines": 53, - "code_ratio": 0.6711864406779661, - "analyzed_at": "2025-08-13T11:36:21.768136066Z", + "total_lines": 349, + "code_lines": 232, + "comment_lines": 56, + "empty_lines": 61, + "code_ratio": 0.664756446991404, + "analyzed_at": "2025-08-15T16:17:53.940840634Z", "metadata": {} }, "language": "rust", @@ -101183,28 +128258,28 @@ "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { "name": "Effect", "parent_class": null, "start_line": 15, - "end_line": 42, + "end_line": 48, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "enum", - "modifiers": "pub" + "modifiers": "pub", + "type": "enum" } }, { "name": "EffectMask", "parent_class": null, - "start_line": 44, - "end_line": 165, + "start_line": 50, + "end_line": 219, "methods": [], "properties": [], "member_variables": [], @@ -101215,60 +128290,60 @@ { "name": "EffectMask", "parent_class": null, - "start_line": 167, - "end_line": 171, + "start_line": 221, + "end_line": 225, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "Default" - } - }, - { - "name": "EffectMask", - "parent_class": null, - "start_line": 173, - "end_line": 182, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "fmt::Display", + "implementing_trait": "Default", "type": "impl" } }, { "name": "EffectMask", "parent_class": null, - "start_line": 184, - "end_line": 190, + "start_line": 227, + "end_line": 236, "methods": [], "properties": [], "member_variables": [], "metadata": { "type": "impl", - "implementing_trait": "std::ops::BitOr" + "implementing_trait": "fmt::Display" } }, { "name": "EffectMask", "parent_class": null, - "start_line": 192, - "end_line": 196, + "start_line": 238, + "end_line": 244, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "std::ops::BitOrAssign" + "implementing_trait": "std::ops::BitOr", + "type": "impl" } }, { "name": "EffectMask", "parent_class": null, - "start_line": 198, - "end_line": 204, + "start_line": 246, + "end_line": 250, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::ops::BitOrAssign", + "type": "impl" + } + }, + { + "name": "EffectMask", + "parent_class": null, + "start_line": 252, + "end_line": 258, "methods": [], "properties": [], "member_variables": [], @@ -101280,8 +128355,8 @@ { "name": "EffectMask", "parent_class": null, - "start_line": 206, - "end_line": 210, + "start_line": 260, + "end_line": 264, "methods": [], "properties": [], "member_variables": [], @@ -101294,8 +128369,8 @@ "functions": [ { "name": "new", - "start_line": 67, - "end_line": 69, + "start_line": 81, + "end_line": 83, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -101307,14 +128382,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "from_bits", - "start_line": 72, - "end_line": 74, + "start_line": 86, + "end_line": 88, "parameters": [ "bits: u16" ], @@ -101334,8 +128409,8 @@ }, { "name": "bits", - "start_line": 77, - "end_line": 79, + "start_line": 91, + "end_line": 93, "parameters": [ "self" ], @@ -101355,8 +128430,8 @@ }, { "name": "add", - "start_line": 82, - "end_line": 84, + "start_line": 96, + "end_line": 98, "parameters": [ "self", "effect: Effect" @@ -101377,8 +128452,8 @@ }, { "name": "remove", - "start_line": 87, - "end_line": 89, + "start_line": 101, + "end_line": 103, "parameters": [ "self", "effect: Effect" @@ -101399,8 +128474,8 @@ }, { "name": "contains", - "start_line": 92, - "end_line": 94, + "start_line": 106, + "end_line": 108, "parameters": [ "self", "effect: Effect" @@ -101421,8 +128496,8 @@ }, { "name": "contains_any", - "start_line": 97, - "end_line": 99, + "start_line": 111, + "end_line": 113, "parameters": [ "self", "mask: EffectMask" @@ -101443,8 +128518,8 @@ }, { "name": "contains_all", - "start_line": 102, - "end_line": 104, + "start_line": 116, + "end_line": 118, "parameters": [ "self", "mask: EffectMask" @@ -101465,8 +128540,8 @@ }, { "name": "union", - "start_line": 107, - "end_line": 109, + "start_line": 121, + "end_line": 123, "parameters": [ "self", "other: EffectMask" @@ -101487,8 +128562,8 @@ }, { "name": "intersection", - "start_line": 112, - "end_line": 114, + "start_line": 126, + "end_line": 128, "parameters": [ "self", "other: EffectMask" @@ -101502,15 +128577,99 @@ "rating": "simple", "rating_emoji": "🟢" }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_pure", + "start_line": 131, + "end_line": 133, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, "metadata": { "type": "function", "modifiers": "pub" } }, { - "name": "is_pure", - "start_line": 117, - "end_line": 119, + "name": "is_mut", + "start_line": 136, + "end_line": 140, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_io", + "start_line": 143, + "end_line": 153, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_control", + "start_line": 156, + "end_line": 158, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "primary_category", + "start_line": 161, + "end_line": 171, "parameters": [ "self" ], @@ -101530,8 +128689,8 @@ }, { "name": "is_read_only", - "start_line": 122, - "end_line": 127, + "start_line": 174, + "end_line": 176, "parameters": [ "self" ], @@ -101551,8 +128710,8 @@ }, { "name": "is_parallel_safe", - "start_line": 130, - "end_line": 134, + "start_line": 179, + "end_line": 183, "parameters": [ "self" ], @@ -101572,8 +128731,8 @@ }, { "name": "is_moveable", - "start_line": 137, - "end_line": 139, + "start_line": 186, + "end_line": 188, "parameters": [ "self" ], @@ -101593,8 +128752,8 @@ }, { "name": "effect_names", - "start_line": 142, - "end_line": 164, + "start_line": 191, + "end_line": 218, "parameters": [ "self" ], @@ -101608,14 +128767,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "default", - "start_line": 168, - "end_line": 170, + "start_line": 222, + "end_line": 224, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -101632,8 +128791,8 @@ }, { "name": "fmt", - "start_line": 174, - "end_line": 181, + "start_line": 228, + "end_line": 235, "parameters": [ "&self", "f: &mut fmt::Formatter<'_>" @@ -101653,8 +128812,8 @@ }, { "name": "bitor", - "start_line": 187, - "end_line": 189, + "start_line": 241, + "end_line": 243, "parameters": [ "self", "rhs: Self" @@ -101674,8 +128833,8 @@ }, { "name": "bitor_assign", - "start_line": 193, - "end_line": 195, + "start_line": 247, + "end_line": 249, "parameters": [ "&mut self", "rhs: Self" @@ -101695,8 +128854,8 @@ }, { "name": "bitand", - "start_line": 201, - "end_line": 203, + "start_line": 255, + "end_line": 257, "parameters": [ "self", "rhs: Self" @@ -101716,8 +128875,8 @@ }, { "name": "bitand_assign", - "start_line": 207, - "end_line": 209, + "start_line": 261, + "end_line": 263, "parameters": [ "&mut self", "rhs: Self" @@ -101737,8 +128896,8 @@ }, { "name": "test_effect_mask_creation", - "start_line": 217, - "end_line": 228, + "start_line": 271, + "end_line": 282, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -101755,8 +128914,8 @@ }, { "name": "test_effect_combination", - "start_line": 231, - "end_line": 246, + "start_line": 285, + "end_line": 300, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -101773,8 +128932,8 @@ }, { "name": "test_effect_union", - "start_line": 249, - "end_line": 259, + "start_line": 303, + "end_line": 313, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -101791,8 +128950,8 @@ }, { "name": "test_parallel_safety", - "start_line": 262, - "end_line": 272, + "start_line": 316, + "end_line": 326, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -101809,8 +128968,8 @@ }, { "name": "test_effect_names", - "start_line": 275, - "end_line": 283, + "start_line": 329, + "end_line": 337, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -101827,8 +128986,8 @@ }, { "name": "test_effect_display", - "start_line": 286, - "end_line": 294, + "start_line": 340, + "end_line": 348, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -101858,7 +129017,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 214, + "line_number": 268, "metadata": {} } ], @@ -101876,7 +129035,7 @@ "metadata": {}, "stats": { "class_count": 9, - "function_count": 27, + "function_count": 31, "import_count": 2, "export_count": 0, "unique_calls": 0, @@ -101927,7 +129086,7 @@ "name": "Effect", "full_name": "", "start_line": 15, - "end_line": 42, + "end_line": 48, "start_column": 0, "end_column": 0, "depth": 1, @@ -101940,8 +129099,8 @@ "type": "class", "name": "EffectMask", "full_name": "", - "start_line": 44, - "end_line": 165, + "start_line": 50, + "end_line": 219, "start_column": 0, "end_column": 0, "depth": 1, @@ -101954,34 +129113,6 @@ "type": "variable", "name": "PURE", "full_name": "", - "start_line": 46, - "end_line": 46, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "READ", - "full_name": "", - "start_line": 49, - "end_line": 49, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "WRITE", - "full_name": "", "start_line": 52, "end_line": 52, "start_column": 0, @@ -101994,7 +129125,7 @@ }, { "type": "variable", - "name": "IO", + "name": "MUT", "full_name": "", "start_line": 55, "end_line": 55, @@ -102008,7 +129139,7 @@ }, { "type": "variable", - "name": "P2P", + "name": "IO", "full_name": "", "start_line": 58, "end_line": 58, @@ -102022,7 +129153,7 @@ }, { "type": "variable", - "name": "PANIC", + "name": "CONTROL", "full_name": "", "start_line": 61, "end_line": 61, @@ -102034,12 +129165,82 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "READ", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "read", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "WRITE", + "full_name": "", + "start_line": 69, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "P2P", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "PANIC", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "ALL", "full_name": "", - "start_line": 64, - "end_line": 64, + "start_line": 78, + "end_line": 78, "start_column": 0, "end_column": 0, "depth": 3, @@ -102052,8 +129253,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 67, - "end_line": 69, + "start_line": 81, + "end_line": 83, "start_column": 0, "end_column": 0, "depth": 3, @@ -102066,8 +129267,8 @@ "type": "function", "name": "from_bits", "full_name": "", - "start_line": 72, - "end_line": 74, + "start_line": 86, + "end_line": 88, "start_column": 0, "end_column": 0, "depth": 3, @@ -102080,8 +129281,8 @@ "type": "function", "name": "bits", "full_name": "", - "start_line": 77, - "end_line": 79, + "start_line": 91, + "end_line": 93, "start_column": 0, "end_column": 0, "depth": 3, @@ -102094,8 +129295,8 @@ "type": "function", "name": "add", "full_name": "", - "start_line": 82, - "end_line": 84, + "start_line": 96, + "end_line": 98, "start_column": 0, "end_column": 0, "depth": 3, @@ -102108,8 +129309,8 @@ "type": "function", "name": "remove", "full_name": "", - "start_line": 87, - "end_line": 89, + "start_line": 101, + "end_line": 103, "start_column": 0, "end_column": 0, "depth": 3, @@ -102122,8 +129323,8 @@ "type": "function", "name": "contains", "full_name": "", - "start_line": 92, - "end_line": 94, + "start_line": 106, + "end_line": 108, "start_column": 0, "end_column": 0, "depth": 3, @@ -102136,8 +129337,8 @@ "type": "function", "name": "contains_any", "full_name": "", - "start_line": 97, - "end_line": 99, + "start_line": 111, + "end_line": 113, "start_column": 0, "end_column": 0, "depth": 3, @@ -102150,8 +129351,8 @@ "type": "function", "name": "contains_all", "full_name": "", - "start_line": 102, - "end_line": 104, + "start_line": 116, + "end_line": 118, "start_column": 0, "end_column": 0, "depth": 3, @@ -102164,8 +129365,8 @@ "type": "function", "name": "union", "full_name": "", - "start_line": 107, - "end_line": 109, + "start_line": 121, + "end_line": 123, "start_column": 0, "end_column": 0, "depth": 3, @@ -102178,8 +129379,8 @@ "type": "function", "name": "intersection", "full_name": "", - "start_line": 112, - "end_line": 114, + "start_line": 126, + "end_line": 128, "start_column": 0, "end_column": 0, "depth": 3, @@ -102192,8 +129393,8 @@ "type": "function", "name": "is_pure", "full_name": "", - "start_line": 117, - "end_line": 119, + "start_line": 131, + "end_line": 133, "start_column": 0, "end_column": 0, "depth": 3, @@ -102202,12 +129403,110 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "is_mut", + "full_name": "", + "start_line": 136, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_io", + "full_name": "", + "start_line": 143, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_control", + "full_name": "", + "start_line": 156, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "primary_category", + "full_name": "", + "start_line": 161, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "is_read_only", "full_name": "", - "start_line": 122, - "end_line": 127, + "start_line": 174, + "end_line": 176, "start_column": 0, "end_column": 0, "depth": 3, @@ -102220,8 +129519,8 @@ "type": "function", "name": "is_parallel_safe", "full_name": "", - "start_line": 130, - "end_line": 134, + "start_line": 179, + "end_line": 183, "start_column": 0, "end_column": 0, "depth": 3, @@ -102234,8 +129533,8 @@ "type": "function", "name": "is_moveable", "full_name": "", - "start_line": 137, - "end_line": 139, + "start_line": 186, + "end_line": 188, "start_column": 0, "end_column": 0, "depth": 3, @@ -102248,8 +129547,8 @@ "type": "function", "name": "effect_names", "full_name": "", - "start_line": 142, - "end_line": 164, + "start_line": 191, + "end_line": 218, "start_column": 0, "end_column": 0, "depth": 3, @@ -102262,8 +129561,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 143, - "end_line": 143, + "start_line": 192, + "end_line": 192, "start_column": 0, "end_column": 0, "depth": 5, @@ -102276,8 +129575,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 145, - "end_line": 148, + "start_line": 195, + "end_line": 195, "start_column": 0, "end_column": 0, "depth": 6, @@ -102290,8 +129589,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 150, - "end_line": 150, + "start_line": 196, + "end_line": 196, "start_column": 0, "end_column": 0, "depth": 6, @@ -102304,8 +129603,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 151, - "end_line": 151, + "start_line": 197, + "end_line": 197, "start_column": 0, "end_column": 0, "depth": 6, @@ -102318,8 +129617,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 152, - "end_line": 152, + "start_line": 198, + "end_line": 198, "start_column": 0, "end_column": 0, "depth": 6, @@ -102332,8 +129631,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 153, - "end_line": 153, + "start_line": 201, + "end_line": 201, "start_column": 0, "end_column": 0, "depth": 6, @@ -102346,8 +129645,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 154, - "end_line": 154, + "start_line": 202, + "end_line": 202, "start_column": 0, "end_column": 0, "depth": 6, @@ -102360,8 +129659,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 155, - "end_line": 155, + "start_line": 203, + "end_line": 203, "start_column": 0, "end_column": 0, "depth": 6, @@ -102374,8 +129673,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 156, - "end_line": 156, + "start_line": 204, + "end_line": 204, "start_column": 0, "end_column": 0, "depth": 6, @@ -102388,8 +129687,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 157, - "end_line": 157, + "start_line": 205, + "end_line": 205, "start_column": 0, "end_column": 0, "depth": 6, @@ -102402,8 +129701,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 158, - "end_line": 158, + "start_line": 206, + "end_line": 206, "start_column": 0, "end_column": 0, "depth": 6, @@ -102416,8 +129715,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 159, - "end_line": 159, + "start_line": 207, + "end_line": 207, "start_column": 0, "end_column": 0, "depth": 6, @@ -102430,8 +129729,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 160, - "end_line": 160, + "start_line": 208, + "end_line": 208, "start_column": 0, "end_column": 0, "depth": 6, @@ -102444,8 +129743,50 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 161, - "end_line": 161, + "start_line": 209, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 210, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 211, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 215, "start_column": 0, "end_column": 0, "depth": 6, @@ -102458,8 +129799,8 @@ "type": "class", "name": "EffectMask", "full_name": "", - "start_line": 167, - "end_line": 171, + "start_line": 221, + "end_line": 225, "start_column": 0, "end_column": 0, "depth": 1, @@ -102472,8 +129813,8 @@ "type": "function", "name": "default", "full_name": "", - "start_line": 168, - "end_line": 170, + "start_line": 222, + "end_line": 224, "start_column": 0, "end_column": 0, "depth": 3, @@ -102486,8 +129827,8 @@ "type": "class", "name": "EffectMask", "full_name": "", - "start_line": 173, - "end_line": 182, + "start_line": 227, + "end_line": 236, "start_column": 0, "end_column": 0, "depth": 1, @@ -102500,8 +129841,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 174, - "end_line": 181, + "start_line": 228, + "end_line": 235, "start_column": 0, "end_column": 0, "depth": 3, @@ -102514,8 +129855,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 175, - "end_line": 175, + "start_line": 229, + "end_line": 229, "start_column": 0, "end_column": 0, "depth": 5, @@ -102528,8 +129869,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 176, - "end_line": 180, + "start_line": 230, + "end_line": 234, "start_column": 0, "end_column": 0, "depth": 6, @@ -102542,8 +129883,8 @@ "type": "class", "name": "EffectMask", "full_name": "", - "start_line": 184, - "end_line": 190, + "start_line": 238, + "end_line": 244, "start_column": 0, "end_column": 0, "depth": 1, @@ -102556,8 +129897,8 @@ "type": "function", "name": "bitor", "full_name": "", - "start_line": 187, - "end_line": 189, + "start_line": 241, + "end_line": 243, "start_column": 0, "end_column": 0, "depth": 3, @@ -102570,8 +129911,8 @@ "type": "class", "name": "EffectMask", "full_name": "", - "start_line": 192, - "end_line": 196, + "start_line": 246, + "end_line": 250, "start_column": 0, "end_column": 0, "depth": 1, @@ -102584,8 +129925,8 @@ "type": "function", "name": "bitor_assign", "full_name": "", - "start_line": 193, - "end_line": 195, + "start_line": 247, + "end_line": 249, "start_column": 0, "end_column": 0, "depth": 3, @@ -102598,8 +129939,8 @@ "type": "class", "name": "EffectMask", "full_name": "", - "start_line": 198, - "end_line": 204, + "start_line": 252, + "end_line": 258, "start_column": 0, "end_column": 0, "depth": 1, @@ -102612,8 +129953,8 @@ "type": "function", "name": "bitand", "full_name": "", - "start_line": 201, - "end_line": 203, + "start_line": 255, + "end_line": 257, "start_column": 0, "end_column": 0, "depth": 3, @@ -102626,8 +129967,8 @@ "type": "class", "name": "EffectMask", "full_name": "", - "start_line": 206, - "end_line": 210, + "start_line": 260, + "end_line": 264, "start_column": 0, "end_column": 0, "depth": 1, @@ -102640,8 +129981,8 @@ "type": "function", "name": "bitand_assign", "full_name": "", - "start_line": 207, - "end_line": 209, + "start_line": 261, + "end_line": 263, "start_column": 0, "end_column": 0, "depth": 3, @@ -102654,8 +129995,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 214, - "end_line": 214, + "start_line": 268, + "end_line": 268, "start_column": 0, "end_column": 0, "depth": 3, @@ -102668,8 +130009,8 @@ "type": "function", "name": "test_effect_mask_creation", "full_name": "", - "start_line": 217, - "end_line": 228, + "start_line": 271, + "end_line": 282, "start_column": 0, "end_column": 0, "depth": 3, @@ -102682,8 +130023,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 218, - "end_line": 218, + "start_line": 272, + "end_line": 272, "start_column": 0, "end_column": 0, "depth": 5, @@ -102696,8 +130037,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 219, - "end_line": 219, + "start_line": 273, + "end_line": 273, "start_column": 0, "end_column": 0, "depth": 5, @@ -102710,8 +130051,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 220, - "end_line": 220, + "start_line": 274, + "end_line": 274, "start_column": 0, "end_column": 0, "depth": 5, @@ -102724,8 +130065,8 @@ "type": "function", "name": "test_effect_combination", "full_name": "", - "start_line": 231, - "end_line": 246, + "start_line": 285, + "end_line": 300, "start_column": 0, "end_column": 0, "depth": 3, @@ -102738,8 +130079,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 232, - "end_line": 232, + "start_line": 286, + "end_line": 286, "start_column": 0, "end_column": 0, "depth": 5, @@ -102752,8 +130093,8 @@ "type": "function", "name": "test_effect_union", "full_name": "", - "start_line": 249, - "end_line": 259, + "start_line": 303, + "end_line": 313, "start_column": 0, "end_column": 0, "depth": 3, @@ -102766,8 +130107,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 250, - "end_line": 250, + "start_line": 304, + "end_line": 304, "start_column": 0, "end_column": 0, "depth": 5, @@ -102780,8 +130121,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 251, - "end_line": 251, + "start_line": 305, + "end_line": 305, "start_column": 0, "end_column": 0, "depth": 5, @@ -102794,8 +130135,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 253, - "end_line": 253, + "start_line": 307, + "end_line": 307, "start_column": 0, "end_column": 0, "depth": 5, @@ -102808,8 +130149,8 @@ "type": "function", "name": "test_parallel_safety", "full_name": "", - "start_line": 262, - "end_line": 272, + "start_line": 316, + "end_line": 326, "start_column": 0, "end_column": 0, "depth": 3, @@ -102822,8 +130163,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 263, - "end_line": 263, + "start_line": 317, + "end_line": 317, "start_column": 0, "end_column": 0, "depth": 5, @@ -102836,8 +130177,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 264, - "end_line": 264, + "start_line": 318, + "end_line": 318, "start_column": 0, "end_column": 0, "depth": 5, @@ -102850,8 +130191,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 265, - "end_line": 265, + "start_line": 319, + "end_line": 319, "start_column": 0, "end_column": 0, "depth": 5, @@ -102864,8 +130205,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 266, - "end_line": 266, + "start_line": 320, + "end_line": 320, "start_column": 0, "end_column": 0, "depth": 5, @@ -102878,8 +130219,8 @@ "type": "function", "name": "test_effect_names", "full_name": "", - "start_line": 275, - "end_line": 283, + "start_line": 329, + "end_line": 337, "start_column": 0, "end_column": 0, "depth": 3, @@ -102892,8 +130233,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 276, - "end_line": 276, + "start_line": 330, + "end_line": 330, "start_column": 0, "end_column": 0, "depth": 5, @@ -102906,8 +130247,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 279, - "end_line": 279, + "start_line": 333, + "end_line": 333, "start_column": 0, "end_column": 0, "depth": 5, @@ -102920,8 +130261,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 280, - "end_line": 280, + "start_line": 334, + "end_line": 334, "start_column": 0, "end_column": 0, "depth": 5, @@ -102934,8 +130275,8 @@ "type": "function", "name": "test_effect_display", "full_name": "", - "start_line": 286, - "end_line": 294, + "start_line": 340, + "end_line": 348, "start_column": 0, "end_column": 0, "depth": 3, @@ -102948,8 +130289,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 287, - "end_line": 287, + "start_line": 341, + "end_line": 341, "start_column": 0, "end_column": 0, "depth": 5, @@ -102962,8 +130303,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 290, - "end_line": 290, + "start_line": 344, + "end_line": 344, "start_column": 0, "end_column": 0, "depth": 5, @@ -102976,8 +130317,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 291, - "end_line": 291, + "start_line": 345, + "end_line": 345, "start_column": 0, "end_column": 0, "depth": 5, @@ -102991,23 +130332,23 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 79, - "max_depth": 6, + "total_nodes": 92, + "max_depth": 10, "node_type_counts": { - "class": 9, "file_root": 1, - "variable": 26, - "if_statement": 14, - "function": 27, + "class": 9, + "if_statement": 20, + "function": 31, + "variable": 29, "import": 2 }, "classes": 9, - "functions": 27, + "functions": 31, "methods": 0, - "variables": 26, - "control_structures": 14 + "variables": 29, + "control_structures": 20 }, - "generated_at": "2025-08-13T11:36:21.768151900Z" + "generated_at": "2025-08-15T16:17:53.940860174Z" }, { "file_info": { @@ -103019,7 +130360,7 @@ "comment_lines": 67, "empty_lines": 88, "code_ratio": 0.69, - "analyzed_at": "2025-08-13T11:36:21.767149909Z", + "analyzed_at": "2025-08-15T16:17:53.940971777Z", "metadata": {} }, "language": "rust", @@ -103033,8 +130374,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -103046,8 +130387,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -103059,8 +130400,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -103097,8 +130438,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -103185,8 +130526,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -103206,8 +130547,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -103228,8 +130569,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -103250,8 +130591,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -103293,8 +130634,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -103314,8 +130655,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -103335,8 +130676,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -103454,8 +130795,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -103475,8 +130816,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -103532,8 +130873,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -103619,8 +130960,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -103642,8 +130983,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -103663,8 +131004,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -105377,11 +132718,11 @@ "node_type_counts": { "file_root": 1, "class": 11, - "function": 27, - "import": 5, - "variable": 30, "for_loop": 12, - "if_statement": 15 + "if_statement": 15, + "import": 5, + "function": 27, + "variable": 30 }, "classes": 11, "functions": 27, @@ -105389,19 +132730,19 @@ "variables": 30, "control_structures": 27 }, - "generated_at": "2025-08-13T11:36:21.767179229Z" + "generated_at": "2025-08-15T16:17:53.941000297Z" }, { "file_info": { "name": "instruction.rs", "path": "src/mir/instruction.rs", "size_bytes": 0, - "total_lines": 696, - "code_lines": 486, - "comment_lines": 112, - "empty_lines": 98, - "code_ratio": 0.6982758620689655, - "analyzed_at": "2025-08-13T11:36:21.767056576Z", + "total_lines": 793, + "code_lines": 554, + "comment_lines": 127, + "empty_lines": 112, + "code_ratio": 0.6986128625472888, + "analyzed_at": "2025-08-15T16:17:53.940683004Z", "metadata": {} }, "language": "rust", @@ -105410,7 +132751,7 @@ "name": "MirInstruction", "parent_class": null, "start_line": 13, - "end_line": 253, + "end_line": 288, "methods": [], "properties": [], "member_variables": [], @@ -105422,8 +132763,21 @@ { "name": "ConstValue", "parent_class": null, - "start_line": 257, - "end_line": 264, + "start_line": 292, + "end_line": 299, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "BinaryOp", + "parent_class": null, + "start_line": 303, + "end_line": 312, "methods": [], "properties": [], "member_variables": [], @@ -105432,37 +132786,24 @@ "modifiers": "pub" } }, - { - "name": "BinaryOp", - "parent_class": null, - "start_line": 268, - "end_line": 277, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "modifiers": "pub", - "type": "enum" - } - }, { "name": "UnaryOp", "parent_class": null, - "start_line": 281, - "end_line": 290, + "start_line": 316, + "end_line": 325, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "enum" + "type": "enum", + "modifiers": "pub" } }, { "name": "CompareOp", "parent_class": null, - "start_line": 294, - "end_line": 296, + "start_line": 329, + "end_line": 331, "methods": [], "properties": [], "member_variables": [], @@ -105474,8 +132815,8 @@ { "name": "MirType", "parent_class": null, - "start_line": 300, - "end_line": 309, + "start_line": 335, + "end_line": 345, "methods": [], "properties": [], "member_variables": [], @@ -105487,8 +132828,8 @@ { "name": "MirInstruction", "parent_class": null, - "start_line": 311, - "end_line": 468, + "start_line": 347, + "end_line": 524, "methods": [], "properties": [], "member_variables": [], @@ -105499,8 +132840,8 @@ { "name": "ConstValue", "parent_class": null, - "start_line": 470, - "end_line": 497, + "start_line": 526, + "end_line": 553, "methods": [], "properties": [], "member_variables": [], @@ -105511,8 +132852,8 @@ { "name": "MirInstruction", "parent_class": null, - "start_line": 499, - "end_line": 541, + "start_line": 555, + "end_line": 608, "methods": [], "properties": [], "member_variables": [], @@ -105524,22 +132865,22 @@ { "name": "ConstValue", "parent_class": null, - "start_line": 543, - "end_line": 554, + "start_line": 610, + "end_line": 621, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "fmt::Display" + "implementing_trait": "fmt::Display", + "type": "impl" } } ], "functions": [ { "name": "effects", - "start_line": 313, - "end_line": 364, + "start_line": 349, + "end_line": 408, "parameters": [ "&self" ], @@ -105559,8 +132900,8 @@ }, { "name": "dst_value", - "start_line": 367, - "end_line": 404, + "start_line": 411, + "end_line": 452, "parameters": [ "&self" ], @@ -105580,8 +132921,8 @@ }, { "name": "used_values", - "start_line": 407, - "end_line": 467, + "start_line": 455, + "end_line": 523, "parameters": [ "&self" ], @@ -105601,8 +132942,8 @@ }, { "name": "closure", - "start_line": 432, - "end_line": 432, + "start_line": 480, + "end_line": 480, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105619,8 +132960,8 @@ }, { "name": "closure", - "start_line": 450, - "end_line": 450, + "start_line": 498, + "end_line": 498, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105637,8 +132978,8 @@ }, { "name": "fmt", - "start_line": 500, - "end_line": 540, + "start_line": 556, + "end_line": 607, "parameters": [ "&self", "f: &mut fmt::Formatter<'_>" @@ -105658,8 +132999,8 @@ }, { "name": "fmt", - "start_line": 544, - "end_line": 553, + "start_line": 611, + "end_line": 620, "parameters": [ "&self", "f: &mut fmt::Formatter<'_>" @@ -105679,8 +133020,8 @@ }, { "name": "test_const_instruction", - "start_line": 561, - "end_line": 571, + "start_line": 628, + "end_line": 638, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105697,8 +133038,8 @@ }, { "name": "test_binop_instruction", - "start_line": 574, - "end_line": 586, + "start_line": 641, + "end_line": 653, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105715,8 +133056,8 @@ }, { "name": "test_call_instruction", - "start_line": 589, - "end_line": 605, + "start_line": 656, + "end_line": 672, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105733,8 +133074,8 @@ }, { "name": "test_ref_new_instruction", - "start_line": 621, - "end_line": 629, + "start_line": 688, + "end_line": 696, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105751,8 +133092,8 @@ }, { "name": "test_ref_get_instruction", - "start_line": 632, - "end_line": 642, + "start_line": 699, + "end_line": 709, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105769,8 +133110,8 @@ }, { "name": "test_ref_set_instruction", - "start_line": 645, - "end_line": 655, + "start_line": 712, + "end_line": 722, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105787,8 +133128,8 @@ }, { "name": "test_weak_new_instruction", - "start_line": 658, - "end_line": 666, + "start_line": 725, + "end_line": 733, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105805,8 +133146,8 @@ }, { "name": "test_weak_load_instruction", - "start_line": 669, - "end_line": 678, + "start_line": 736, + "end_line": 745, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105823,8 +133164,26 @@ }, { "name": "test_barrier_instructions", - "start_line": 681, - "end_line": 695, + "start_line": 748, + "end_line": 762, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_extern_call_instruction", + "start_line": 765, + "end_line": 792, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -105862,7 +133221,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 558, + "line_number": 625, "metadata": {} } ], @@ -105880,7 +133239,7 @@ "metadata": {}, "stats": { "class_count": 10, - "function_count": 16, + "function_count": 17, "import_count": 3, "export_count": 0, "unique_calls": 0, @@ -105931,7 +133290,7 @@ "name": "MirInstruction", "full_name": "", "start_line": 13, - "end_line": 253, + "end_line": 288, "start_column": 0, "end_column": 0, "depth": 1, @@ -105944,8 +133303,8 @@ "type": "class", "name": "ConstValue", "full_name": "", - "start_line": 257, - "end_line": 264, + "start_line": 292, + "end_line": 299, "start_column": 0, "end_column": 0, "depth": 1, @@ -105958,8 +133317,8 @@ "type": "class", "name": "BinaryOp", "full_name": "", - "start_line": 268, - "end_line": 277, + "start_line": 303, + "end_line": 312, "start_column": 0, "end_column": 0, "depth": 1, @@ -105972,8 +133331,8 @@ "type": "class", "name": "UnaryOp", "full_name": "", - "start_line": 281, - "end_line": 290, + "start_line": 316, + "end_line": 325, "start_column": 0, "end_column": 0, "depth": 1, @@ -105986,8 +133345,8 @@ "type": "class", "name": "CompareOp", "full_name": "", - "start_line": 294, - "end_line": 296, + "start_line": 329, + "end_line": 331, "start_column": 0, "end_column": 0, "depth": 1, @@ -106000,8 +133359,8 @@ "type": "class", "name": "MirType", "full_name": "", - "start_line": 300, - "end_line": 309, + "start_line": 335, + "end_line": 345, "start_column": 0, "end_column": 0, "depth": 1, @@ -106014,8 +133373,8 @@ "type": "class", "name": "MirInstruction", "full_name": "", - "start_line": 311, - "end_line": 468, + "start_line": 347, + "end_line": 524, "start_column": 0, "end_column": 0, "depth": 1, @@ -106028,8 +133387,8 @@ "type": "function", "name": "effects", "full_name": "", - "start_line": 313, - "end_line": 364, + "start_line": 349, + "end_line": 408, "start_column": 0, "end_column": 0, "depth": 3, @@ -106042,8 +133401,8 @@ "type": "function", "name": "dst_value", "full_name": "", - "start_line": 367, - "end_line": 404, + "start_line": 411, + "end_line": 452, "start_column": 0, "end_column": 0, "depth": 3, @@ -106056,8 +133415,8 @@ "type": "function", "name": "used_values", "full_name": "", - "start_line": 407, - "end_line": 467, + "start_line": 455, + "end_line": 523, "start_column": 0, "end_column": 0, "depth": 3, @@ -106070,8 +133429,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 436, - "end_line": 436, + "start_line": 484, + "end_line": 484, "start_column": 0, "end_column": 0, "depth": 10, @@ -106084,8 +133443,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 442, - "end_line": 442, + "start_line": 490, + "end_line": 490, "start_column": 0, "end_column": 0, "depth": 10, @@ -106098,8 +133457,8 @@ "type": "class", "name": "ConstValue", "full_name": "", - "start_line": 470, - "end_line": 497, + "start_line": 526, + "end_line": 553, "start_column": 0, "end_column": 0, "depth": 1, @@ -106112,8 +133471,8 @@ "type": "class", "name": "MirInstruction", "full_name": "", - "start_line": 499, - "end_line": 541, + "start_line": 555, + "end_line": 608, "start_column": 0, "end_column": 0, "depth": 1, @@ -106126,8 +133485,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 500, - "end_line": 540, + "start_line": 556, + "end_line": 607, "start_column": 0, "end_column": 0, "depth": 3, @@ -106140,8 +133499,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 521, - "end_line": 529, + "start_line": 577, + "end_line": 585, "start_column": 0, "end_column": 0, "depth": 11, @@ -106154,8 +133513,22 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 532, - "end_line": 536, + "start_line": 588, + "end_line": 592, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 595, + "end_line": 603, "start_column": 0, "end_column": 0, "depth": 11, @@ -106168,8 +133541,8 @@ "type": "class", "name": "ConstValue", "full_name": "", - "start_line": 543, - "end_line": 554, + "start_line": 610, + "end_line": 621, "start_column": 0, "end_column": 0, "depth": 1, @@ -106182,8 +133555,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 544, - "end_line": 553, + "start_line": 611, + "end_line": 620, "start_column": 0, "end_column": 0, "depth": 3, @@ -106196,8 +133569,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 558, - "end_line": 558, + "start_line": 625, + "end_line": 625, "start_column": 0, "end_column": 0, "depth": 3, @@ -106210,8 +133583,8 @@ "type": "function", "name": "test_const_instruction", "full_name": "", - "start_line": 561, - "end_line": 571, + "start_line": 628, + "end_line": 638, "start_column": 0, "end_column": 0, "depth": 3, @@ -106224,8 +133597,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 562, - "end_line": 562, + "start_line": 629, + "end_line": 629, "start_column": 0, "end_column": 0, "depth": 5, @@ -106238,8 +133611,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 563, - "end_line": 566, + "start_line": 630, + "end_line": 633, "start_column": 0, "end_column": 0, "depth": 5, @@ -106252,8 +133625,8 @@ "type": "function", "name": "test_binop_instruction", "full_name": "", - "start_line": 574, - "end_line": 586, + "start_line": 641, + "end_line": 653, "start_column": 0, "end_column": 0, "depth": 3, @@ -106266,8 +133639,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 575, - "end_line": 575, + "start_line": 642, + "end_line": 642, "start_column": 0, "end_column": 0, "depth": 5, @@ -106280,8 +133653,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 576, - "end_line": 576, + "start_line": 643, + "end_line": 643, "start_column": 0, "end_column": 0, "depth": 5, @@ -106294,8 +133667,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 577, - "end_line": 577, + "start_line": 644, + "end_line": 644, "start_column": 0, "end_column": 0, "depth": 5, @@ -106308,8 +133681,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 579, - "end_line": 581, + "start_line": 646, + "end_line": 648, "start_column": 0, "end_column": 0, "depth": 5, @@ -106322,8 +133695,8 @@ "type": "function", "name": "test_call_instruction", "full_name": "", - "start_line": 589, - "end_line": 605, + "start_line": 656, + "end_line": 672, "start_column": 0, "end_column": 0, "depth": 3, @@ -106336,8 +133709,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 590, - "end_line": 590, + "start_line": 657, + "end_line": 657, "start_column": 0, "end_column": 0, "depth": 5, @@ -106350,263 +133723,11 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 591, - "end_line": 591, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 592, - "end_line": 592, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 593, - "end_line": 593, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 595, - "end_line": 600, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "test_ref_new_instruction", - "full_name": "", - "start_line": 621, - "end_line": 629, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 622, - "end_line": 622, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 623, - "end_line": 623, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 624, - "end_line": 624, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "test_ref_get_instruction", - "full_name": "", - "start_line": 632, - "end_line": 642, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 633, - "end_line": 633, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 634, - "end_line": 634, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 635, - "end_line": 635, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 636, - "end_line": 636, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "test_ref_set_instruction", - "full_name": "", - "start_line": 645, - "end_line": 655, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 646, - "end_line": 646, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 647, - "end_line": 647, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 648, - "end_line": 648, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 649, - "end_line": 649, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "test_weak_new_instruction", - "full_name": "", "start_line": 658, - "end_line": 666, + "end_line": 658, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -106644,8 +133765,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 661, - "end_line": 661, + "start_line": 662, + "end_line": 667, "start_column": 0, "end_column": 0, "depth": 5, @@ -106656,10 +133777,10 @@ }, { "type": "function", - "name": "test_weak_load_instruction", + "name": "test_ref_new_instruction", "full_name": "", - "start_line": 669, - "end_line": 678, + "start_line": 688, + "end_line": 696, "start_column": 0, "end_column": 0, "depth": 3, @@ -106672,78 +133793,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 670, - "end_line": 670, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 671, - "end_line": 671, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 672, - "end_line": 672, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "test_barrier_instructions", - "full_name": "", - "start_line": 681, - "end_line": 695, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 682, - "end_line": 682, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 684, - "end_line": 684, + "start_line": 689, + "end_line": 689, "start_column": 0, "end_column": 0, "depth": 5, @@ -106765,76 +133816,521 @@ "children": [], "attributes": {}, "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 691, + "end_line": 691, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ref_get_instruction", + "full_name": "", + "start_line": 699, + "end_line": 709, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 700, + "end_line": 700, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 701, + "end_line": 701, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 702, + "end_line": 702, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 703, + "end_line": 703, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ref_set_instruction", + "full_name": "", + "start_line": 712, + "end_line": 722, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 713, + "end_line": 713, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 714, + "end_line": 714, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 715, + "end_line": 715, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 716, + "end_line": 716, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_new_instruction", + "full_name": "", + "start_line": 725, + "end_line": 733, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 726, + "end_line": 726, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 727, + "end_line": 727, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 728, + "end_line": 728, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_load_instruction", + "full_name": "", + "start_line": 736, + "end_line": 745, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 737, + "end_line": 737, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 738, + "end_line": 738, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 739, + "end_line": 739, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_barrier_instructions", + "full_name": "", + "start_line": 748, + "end_line": 762, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 749, + "end_line": 749, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 751, + "end_line": 751, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 757, + "end_line": 757, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_extern_call_instruction", + "full_name": "", + "start_line": 765, + "end_line": 792, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 766, + "end_line": 766, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 767, + "end_line": 767, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 768, + "end_line": 768, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 769, + "end_line": 775, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 782, + "end_line": 788, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null } ], "attributes": {}, "source_text": null }, "ast_statistics": { - "total_nodes": 63, + "total_nodes": 70, "max_depth": 11, "node_type_counts": { "import": 3, + "variable": 38, "class": 10, + "if_statement": 3, "file_root": 1, - "variable": 33, - "if_statement": 2, - "function": 14 + "function": 15 }, "classes": 10, - "functions": 14, + "functions": 15, "methods": 0, - "variables": 33, - "control_structures": 2 + "variables": 38, + "control_structures": 3 }, - "generated_at": "2025-08-13T11:36:21.767096321Z" + "generated_at": "2025-08-15T16:17:53.940726578Z" }, { "file_info": { - "name": "mod.rs", - "path": "src/mir/mod.rs", + "name": "instruction_v2.rs", + "path": "src/mir/instruction_v2.rs", "size_bytes": 0, - "total_lines": 206, - "code_lines": 159, - "comment_lines": 16, - "empty_lines": 31, - "code_ratio": 0.7718446601941747, - "analyzed_at": "2025-08-13T11:36:21.767022846Z", + "total_lines": 543, + "code_lines": 357, + "comment_lines": 98, + "empty_lines": 88, + "code_ratio": 0.6574585635359116, + "analyzed_at": "2025-08-15T16:17:53.941640229Z", "metadata": {} }, "language": "rust", "classes": [ { - "name": "MirCompileResult", + "name": "MirInstructionV2", "parent_class": null, - "start_line": 29, - "end_line": 32, + "start_line": 12, + "end_line": 201, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "enum", + "modifiers": "pub" } }, { - "name": "MirCompiler", + "name": "ConstValue", "parent_class": null, - "start_line": 35, - "end_line": 38, + "start_line": 205, + "end_line": 212, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "enum", + "modifiers": "pub" } }, { - "name": "MirCompiler", + "name": "BinaryOp", "parent_class": null, - "start_line": 40, - "end_line": 67, + "start_line": 216, + "end_line": 225, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "CompareOp", + "parent_class": null, + "start_line": 229, + "end_line": 231, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "AtomicOrdering", + "parent_class": null, + "start_line": 235, + "end_line": 241, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "MirInstructionV2", + "parent_class": null, + "start_line": 243, + "end_line": 459, "methods": [], "properties": [], "member_variables": [], @@ -106843,46 +134339,26 @@ } }, { - "name": "MirCompiler", + "name": "MirInstructionV2", "parent_class": null, - "start_line": 69, - "end_line": 73, + "start_line": 461, + "end_line": 465, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Default", - "type": "impl" + "type": "impl", + "implementing_trait": "fmt::Display" } } ], "functions": [ { - "name": "new", - "start_line": 42, - "end_line": 47, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "compile", - "start_line": 50, - "end_line": 61, + "name": "effects", + "start_line": 245, + "end_line": 295, "parameters": [ - "&mut self", - "ast" + "&self" ], "is_async": false, "is_arrow_function": false, @@ -106898,10 +134374,907 @@ "type": "function" } }, + { + "name": "dst_value", + "start_line": 298, + "end_line": 317, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "used_values", + "start_line": 320, + "end_line": 386, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 332, + "end_line": 332, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 342, + "end_line": 342, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "tier", + "start_line": 389, + "end_line": 422, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "description", + "start_line": 425, + "end_line": 458, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 462, + "end_line": 464, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_instruction_count", + "start_line": 473, + "end_line": 481, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_effect_categories", + "start_line": 484, + "end_line": 521, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_ownership_operations", + "start_line": 524, + "end_line": 542, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{ValueId, EffectMask, Effect, BasicBlockId}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 469, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{ValueIdGenerator, BasicBlockIdGenerator}", + "imported_names": [], + "alias": null, + "line_number": 470, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 11, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirInstructionV2", + "full_name": "", + "start_line": 12, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConstValue", + "full_name": "", + "start_line": 205, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BinaryOp", + "full_name": "", + "start_line": 216, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CompareOp", + "full_name": "", + "start_line": 229, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AtomicOrdering", + "full_name": "", + "start_line": 235, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirInstructionV2", + "full_name": "", + "start_line": 243, + "end_line": 459, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "effects", + "full_name": "", + "start_line": 245, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dst_value", + "full_name": "", + "start_line": 298, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "used_values", + "full_name": "", + "start_line": 320, + "end_line": 386, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 352, + "end_line": 352, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 373, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "tier", + "full_name": "", + "start_line": 389, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "description", + "full_name": "", + "start_line": 425, + "end_line": 458, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirInstructionV2", + "full_name": "", + "start_line": 461, + "end_line": 465, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 462, + "end_line": 464, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 469, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 470, + "end_line": 470, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_instruction_count", + "full_name": "", + "start_line": 473, + "end_line": 481, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 476, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 477, + "end_line": 477, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 478, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 479, + "end_line": 479, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_effect_categories", + "full_name": "", + "start_line": 484, + "end_line": 521, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 485, + "end_line": 485, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 486, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 489, + "end_line": 492, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 497, + "end_line": 501, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 506, + "end_line": 509, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 514, + "end_line": 518, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ownership_operations", + "full_name": "", + "start_line": 524, + "end_line": 542, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 525, + "end_line": 525, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 531, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 536, + "end_line": 539, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 37, + "max_depth": 10, + "node_type_counts": { + "import": 4, + "function": 9, + "variable": 16, + "class": 7, + "file_root": 1 + }, + "classes": 7, + "functions": 9, + "methods": 0, + "variables": 16, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:17:53.941671759Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/mir/mod.rs", + "size_bytes": 0, + "total_lines": 210, + "code_lines": 163, + "comment_lines": 16, + "empty_lines": 31, + "code_ratio": 0.7761904761904762, + "analyzed_at": "2025-08-15T16:17:53.940875003Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "MirCompileResult", + "parent_class": null, + "start_line": 33, + "end_line": 36, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "MirCompiler", + "parent_class": null, + "start_line": 39, + "end_line": 42, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MirCompiler", + "parent_class": null, + "start_line": 44, + "end_line": 71, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MirCompiler", + "parent_class": null, + "start_line": 73, + "end_line": 77, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Default", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 46, + "end_line": 51, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "compile", + "start_line": 54, + "end_line": 65, + "parameters": [ + "&mut self", + "ast" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, { "name": "dump_mir", - "start_line": 64, - "end_line": 66, + "start_line": 68, + "end_line": 70, "parameters": [ "&self", "module: &MirModule" @@ -106922,8 +135295,8 @@ }, { "name": "default", - "start_line": 70, - "end_line": 72, + "start_line": 74, + "end_line": 76, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -106940,8 +135313,8 @@ }, { "name": "test_basic_mir_compilation", - "start_line": 81, - "end_line": 96, + "start_line": 85, + "end_line": 100, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -106958,8 +135331,8 @@ }, { "name": "test_mir_dump", - "start_line": 99, - "end_line": 112, + "start_line": 103, + "end_line": 116, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -106976,8 +135349,8 @@ }, { "name": "test_throw_compilation", - "start_line": 115, - "end_line": 133, + "start_line": 119, + "end_line": 137, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -106994,8 +135367,8 @@ }, { "name": "test_loop_compilation", - "start_line": 136, - "end_line": 163, + "start_line": 140, + "end_line": 167, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -107012,8 +135385,8 @@ }, { "name": "test_try_catch_compilation", - "start_line": 166, - "end_line": 205, + "start_line": 170, + "end_line": 209, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -107035,28 +135408,12 @@ "module_path": "instruction::{MirInstruction, BinaryOp, CompareOp, UnaryOp, ConstValue, MirType}", "imported_names": [], "alias": null, - "line_number": 18, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "basic_block::{BasicBlock, BasicBlockId, BasicBlockIdGenerator}", - "imported_names": [], - "alias": null, - "line_number": 19, - "metadata": {} - }, - { - "type": "rust_use", - "module_path": "function::{MirFunction, MirModule, FunctionSignature}", - "imported_names": [], - "alias": null, "line_number": 20, "metadata": {} }, { "type": "rust_use", - "module_path": "builder::MirBuilder", + "module_path": "instruction_v2::{MirInstructionV2, AtomicOrdering}", "imported_names": [], "alias": null, "line_number": 21, @@ -107064,7 +135421,7 @@ }, { "type": "rust_use", - "module_path": "verification::{MirVerifier, VerificationError}", + "module_path": "basic_block::{BasicBlock, BasicBlockId, BasicBlockIdGenerator}", "imported_names": [], "alias": null, "line_number": 22, @@ -107072,7 +135429,7 @@ }, { "type": "rust_use", - "module_path": "printer::MirPrinter", + "module_path": "function::{MirFunction, MirModule, FunctionSignature}", "imported_names": [], "alias": null, "line_number": 23, @@ -107080,7 +135437,7 @@ }, { "type": "rust_use", - "module_path": "value_id::{ValueId, LocalId, ValueIdGenerator}", + "module_path": "builder::MirBuilder", "imported_names": [], "alias": null, "line_number": 24, @@ -107088,18 +135445,50 @@ }, { "type": "rust_use", - "module_path": "effect::{EffectMask, Effect}", + "module_path": "verification::{MirVerifier, VerificationError}", "imported_names": [], "alias": null, "line_number": 25, "metadata": {} }, + { + "type": "rust_use", + "module_path": "ownership_verifier_simple::{OwnershipVerifier, OwnershipError, OwnershipStats}", + "imported_names": [], + "alias": null, + "line_number": 26, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "printer::MirPrinter", + "imported_names": [], + "alias": null, + "line_number": 27, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "value_id::{ValueId, LocalId, ValueIdGenerator}", + "imported_names": [], + "alias": null, + "line_number": 28, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "effect::{EffectMask, Effect}", + "imported_names": [], + "alias": null, + "line_number": 29, + "metadata": {} + }, { "type": "rust_use", "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 77, + "line_number": 81, "metadata": {} }, { @@ -107107,7 +135496,7 @@ "module_path": "crate::ast::{ASTNode, LiteralValue}", "imported_names": [], "alias": null, - "line_number": 78, + "line_number": 82, "metadata": {} } ], @@ -107126,7 +135515,7 @@ "stats": { "class_count": 4, "function_count": 9, - "import_count": 10, + "import_count": 12, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -107143,34 +135532,6 @@ "depth": 0, "scope_path": "", "children": [ - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 18, - "end_line": 18, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 19, - "end_line": 19, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "import", "name": "", @@ -107255,12 +135616,68 @@ "attributes": {}, "source_text": null }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 26, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "MirCompileResult", "full_name": "", - "start_line": 29, - "end_line": 32, + "start_line": 33, + "end_line": 36, "start_column": 0, "end_column": 0, "depth": 1, @@ -107273,8 +135690,8 @@ "type": "class", "name": "MirCompiler", "full_name": "", - "start_line": 35, - "end_line": 38, + "start_line": 39, + "end_line": 42, "start_column": 0, "end_column": 0, "depth": 1, @@ -107287,8 +135704,8 @@ "type": "class", "name": "MirCompiler", "full_name": "", - "start_line": 40, - "end_line": 67, + "start_line": 44, + "end_line": 71, "start_column": 0, "end_column": 0, "depth": 1, @@ -107301,8 +135718,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 42, - "end_line": 47, + "start_line": 46, + "end_line": 51, "start_column": 0, "end_column": 0, "depth": 3, @@ -107315,8 +135732,8 @@ "type": "function", "name": "compile", "full_name": "", - "start_line": 50, - "end_line": 61, + "start_line": 54, + "end_line": 65, "start_column": 0, "end_column": 0, "depth": 3, @@ -107329,8 +135746,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 52, - "end_line": 52, + "start_line": 56, + "end_line": 56, "start_column": 0, "end_column": 0, "depth": 5, @@ -107343,8 +135760,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 55, - "end_line": 55, + "start_line": 59, + "end_line": 59, "start_column": 0, "end_column": 0, "depth": 5, @@ -107357,8 +135774,8 @@ "type": "function", "name": "dump_mir", "full_name": "", - "start_line": 64, - "end_line": 66, + "start_line": 68, + "end_line": 70, "start_column": 0, "end_column": 0, "depth": 3, @@ -107371,8 +135788,8 @@ "type": "class", "name": "MirCompiler", "full_name": "", - "start_line": 69, - "end_line": 73, + "start_line": 73, + "end_line": 77, "start_column": 0, "end_column": 0, "depth": 1, @@ -107385,8 +135802,8 @@ "type": "function", "name": "default", "full_name": "", - "start_line": 70, - "end_line": 72, + "start_line": 74, + "end_line": 76, "start_column": 0, "end_column": 0, "depth": 3, @@ -107399,8 +135816,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 77, - "end_line": 77, + "start_line": 81, + "end_line": 81, "start_column": 0, "end_column": 0, "depth": 3, @@ -107413,8 +135830,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 78, - "end_line": 78, + "start_line": 82, + "end_line": 82, "start_column": 0, "end_column": 0, "depth": 3, @@ -107427,8 +135844,8 @@ "type": "function", "name": "test_basic_mir_compilation", "full_name": "", - "start_line": 81, - "end_line": 96, + "start_line": 85, + "end_line": 100, "start_column": 0, "end_column": 0, "depth": 3, @@ -107441,8 +135858,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 82, - "end_line": 82, + "start_line": 86, + "end_line": 86, "start_column": 0, "end_column": 0, "depth": 5, @@ -107455,8 +135872,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 85, - "end_line": 88, + "start_line": 89, + "end_line": 92, "start_column": 0, "end_column": 0, "depth": 5, @@ -107469,8 +135886,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 91, - "end_line": 91, + "start_line": 95, + "end_line": 95, "start_column": 0, "end_column": 0, "depth": 5, @@ -107483,8 +135900,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 94, - "end_line": 94, + "start_line": 98, + "end_line": 98, "start_column": 0, "end_column": 0, "depth": 5, @@ -107497,8 +135914,8 @@ "type": "function", "name": "test_mir_dump", "full_name": "", - "start_line": 99, - "end_line": 112, + "start_line": 103, + "end_line": 116, "start_column": 0, "end_column": 0, "depth": 3, @@ -107511,8 +135928,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 100, - "end_line": 100, + "start_line": 104, + "end_line": 104, "start_column": 0, "end_column": 0, "depth": 5, @@ -107525,8 +135942,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 102, - "end_line": 105, + "start_line": 106, + "end_line": 109, "start_column": 0, "end_column": 0, "depth": 5, @@ -107539,8 +135956,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 107, - "end_line": 107, + "start_line": 111, + "end_line": 111, "start_column": 0, "end_column": 0, "depth": 5, @@ -107553,8 +135970,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 108, - "end_line": 108, + "start_line": 112, + "end_line": 112, "start_column": 0, "end_column": 0, "depth": 5, @@ -107567,8 +135984,8 @@ "type": "function", "name": "test_throw_compilation", "full_name": "", - "start_line": 115, - "end_line": 133, + "start_line": 119, + "end_line": 137, "start_column": 0, "end_column": 0, "depth": 3, @@ -107581,8 +135998,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 116, - "end_line": 116, + "start_line": 120, + "end_line": 120, "start_column": 0, "end_column": 0, "depth": 5, @@ -107595,36 +136012,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 118, - "end_line": 124, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 126, - "end_line": 126, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 129, - "end_line": 129, + "start_line": 122, + "end_line": 128, "start_column": 0, "end_column": 0, "depth": 5, @@ -107647,12 +136036,40 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 133, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "test_loop_compilation", "full_name": "", - "start_line": 136, - "end_line": 163, + "start_line": 140, + "end_line": 167, "start_column": 0, "end_column": 0, "depth": 3, @@ -107665,8 +136082,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 137, - "end_line": 137, + "start_line": 141, + "end_line": 141, "start_column": 0, "end_column": 0, "depth": 5, @@ -107679,36 +136096,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 139, - "end_line": 154, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 156, - "end_line": 156, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 159, - "end_line": 159, + "start_line": 143, + "end_line": 158, "start_column": 0, "end_column": 0, "depth": 5, @@ -107731,12 +136120,40 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "test_try_catch_compilation", "full_name": "", - "start_line": 166, - "end_line": 205, + "start_line": 170, + "end_line": 209, "start_column": 0, "end_column": 0, "depth": 3, @@ -107749,8 +136166,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 167, - "end_line": 167, + "start_line": 171, + "end_line": 171, "start_column": 0, "end_column": 0, "depth": 5, @@ -107763,36 +136180,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 169, - "end_line": 197, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 199, - "end_line": 199, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 202, - "end_line": 202, + "start_line": 173, + "end_line": 201, "start_column": 0, "end_column": 0, "depth": 5, @@ -107814,20 +136203,48 @@ "children": [], "attributes": {}, "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null } ], "attributes": {}, "source_text": null }, "ast_statistics": { - "total_nodes": 49, + "total_nodes": 51, "max_depth": 5, "node_type_counts": { + "variable": 25, "function": 9, - "class": 4, "file_root": 1, - "import": 10, - "variable": 25 + "class": 4, + "import": 12 }, "classes": 4, "functions": 9, @@ -107835,19 +136252,3928 @@ "variables": 25, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.767035407Z" + "generated_at": "2025-08-15T16:17:53.940888209Z" + }, + { + "file_info": { + "name": "ownership_verifier.rs", + "path": "src/mir/ownership_verifier.rs", + "size_bytes": 0, + "total_lines": 559, + "code_lines": 385, + "comment_lines": 81, + "empty_lines": 93, + "code_ratio": 0.6887298747763864, + "analyzed_at": "2025-08-15T16:17:53.980516018Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "OwnershipError", + "parent_class": null, + "start_line": 17, + "end_line": 60, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 63, + "end_line": 78, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 80, + "end_line": 395, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "OwnershipStats", + "parent_class": null, + "start_line": 399, + "end_line": 405, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 407, + "end_line": 411, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Default", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 82, + "end_line": 90, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "verify_module", + "start_line": 93, + "end_line": 107, + "parameters": [ + "&mut self", + "module: &MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "verify_function", + "start_line": 110, + "end_line": 139, + "parameters": [ + "&mut self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "process_instruction", + "start_line": 142, + "end_line": 245, + "parameters": [ + "&mut self", + "instruction: &MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "verify_ownership_forest", + "start_line": 248, + "end_line": 285, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "check_multiple_owners", + "start_line": 288, + "end_line": 300, + "parameters": [ + "&self", + "target: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 291, + "end_line": 291, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 292, + "end_line": 292, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "would_create_cycle", + "start_line": 303, + "end_line": 324, + "parameters": [ + "&self", + "parent: ValueId", + "child: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "find_strong_cycle", + "start_line": 327, + "end_line": 349, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "dfs_cycle", + "start_line": 352, + "end_line": 383, + "parameters": [ + "&self", + "node: ValueId", + "visited: &mut HashSet", + "rec_stack: &mut HashSet", + "path: &mut Vec" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 368, + "end_line": 368, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "ownership_stats", + "start_line": 386, + "end_line": 394, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "default", + "start_line": 408, + "end_line": 410, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_ownership_forest_basic", + "start_line": 419, + "end_line": 435, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_multiple_owners_error", + "start_line": 438, + "end_line": 461, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_strong_cycle_detection", + "start_line": 464, + "end_line": 483, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_weak_reference_safety", + "start_line": 486, + "end_line": 516, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_unsafe_ref_set", + "start_line": 519, + "end_line": 538, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_safe_ref_set_with_release", + "start_line": 541, + "end_line": 558, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{MirInstruction, ValueId, MirFunction, MirModule}", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::{HashMap, HashSet, VecDeque}", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 415, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{ValueIdGenerator, ConstValue}", + "imported_names": [], + "alias": null, + "line_number": 416, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 20, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipError", + "full_name": "", + "start_line": 17, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 63, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 80, + "end_line": 395, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 82, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_module", + "full_name": "", + "start_line": 93, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_function", + "full_name": "", + "start_line": 110, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 130, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "process_instruction", + "full_name": "", + "start_line": 142, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 158, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 220, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 244, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_ownership_forest", + "full_name": "", + "start_line": 248, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap>", + "full_name": "", + "start_line": 252, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 253, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 257, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 258, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 264, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 269, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 270, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 271, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "check_multiple_owners", + "full_name": "", + "start_line": 288, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 289, + "end_line": 293, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 295, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "would_create_cycle", + "full_name": "", + "start_line": 303, + "end_line": 324, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 306, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 308, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 309, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 313, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 315, + "end_line": 319, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 318, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "find_strong_cycle", + "full_name": "", + "start_line": 327, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 328, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 329, + "end_line": 329, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 330, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 333, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 334, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 340, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 341, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 342, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dfs_cycle", + "full_name": "", + "start_line": 352, + "end_line": 383, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 364, + "end_line": 378, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 365, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 370, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 368, + "end_line": 368, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 372, + "end_line": 376, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 373, + "end_line": 375, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ownership_stats", + "full_name": "", + "start_line": 386, + "end_line": 394, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipStats", + "full_name": "", + "start_line": 399, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 407, + "end_line": 411, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 408, + "end_line": 410, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 415, + "end_line": 415, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 416, + "end_line": 416, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ownership_forest_basic", + "full_name": "", + "start_line": 419, + "end_line": 435, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 420, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 421, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 423, + "end_line": 423, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 424, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 427, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 433, + "end_line": 433, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_multiple_owners_error", + "full_name": "", + "start_line": 438, + "end_line": 461, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 439, + "end_line": 439, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 440, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 442, + "end_line": 442, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 443, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 444, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 455, + "end_line": 455, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 458, + "end_line": 460, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_strong_cycle_detection", + "full_name": "", + "start_line": 464, + "end_line": 483, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 465, + "end_line": 465, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 466, + "end_line": 466, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 468, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 469, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 470, + "end_line": 470, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 477, + "end_line": 477, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 480, + "end_line": 482, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_reference_safety", + "full_name": "", + "start_line": 486, + "end_line": 516, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 488, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 490, + "end_line": 490, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 491, + "end_line": 491, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 494, + "end_line": 497, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 501, + "end_line": 503, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 507, + "end_line": 510, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 513, + "end_line": 513, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_unsafe_ref_set", + "full_name": "", + "start_line": 519, + "end_line": 538, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 520, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 521, + "end_line": 521, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 523, + "end_line": 523, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 524, + "end_line": 524, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 525, + "end_line": 525, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 531, + "end_line": 531, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 532, + "end_line": 532, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 535, + "end_line": 537, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_safe_ref_set_with_release", + "full_name": "", + "start_line": 541, + "end_line": 558, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 542, + "end_line": 542, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 543, + "end_line": 543, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 545, + "end_line": 545, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 546, + "end_line": 546, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 547, + "end_line": 547, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 556, + "end_line": 556, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 124, + "max_depth": 15, + "node_type_counts": { + "variable": 52, + "import": 4, + "class": 5, + "function": 17, + "file_root": 1, + "for_loop": 11, + "if_statement": 34 + }, + "classes": 5, + "functions": 17, + "methods": 0, + "variables": 52, + "control_structures": 45 + }, + "generated_at": "2025-08-15T16:17:53.980548957Z" + }, + { + "file_info": { + "name": "ownership_verifier_simple.rs", + "path": "src/mir/ownership_verifier_simple.rs", + "size_bytes": 0, + "total_lines": 370, + "code_lines": 259, + "comment_lines": 51, + "empty_lines": 60, + "code_ratio": 0.7, + "analyzed_at": "2025-08-15T16:17:53.942815446Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "OwnershipError", + "parent_class": null, + "start_line": 13, + "end_line": 31, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 34, + "end_line": 49, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 51, + "end_line": 284, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "OwnershipStats", + "parent_class": null, + "start_line": 288, + "end_line": 294, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 296, + "end_line": 300, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Default", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 53, + "end_line": 61, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "verify_module", + "start_line": 64, + "end_line": 78, + "parameters": [ + "&mut self", + "module: &MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "verify_function", + "start_line": 81, + "end_line": 110, + "parameters": [ + "&mut self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "process_instruction", + "start_line": 113, + "end_line": 170, + "parameters": [ + "&mut self", + "instruction: &MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "verify_ownership_forest", + "start_line": 173, + "end_line": 198, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "check_multiple_owners", + "start_line": 201, + "end_line": 213, + "parameters": [ + "&self", + "target: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 204, + "end_line": 204, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 205, + "end_line": 205, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "find_strong_cycle", + "start_line": 216, + "end_line": 238, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "dfs_cycle", + "start_line": 241, + "end_line": 272, + "parameters": [ + "&self", + "node: ValueId", + "visited: &mut HashSet", + "rec_stack: &mut HashSet", + "path: &mut Vec" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 257, + "end_line": 257, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "ownership_stats", + "start_line": 275, + "end_line": 283, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "default", + "start_line": 297, + "end_line": 299, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_ownership_forest_basic", + "start_line": 308, + "end_line": 328, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_weak_reference_tracking", + "start_line": 331, + "end_line": 349, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_basic_ref_set", + "start_line": 352, + "end_line": 369, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{MirInstruction, ValueId, MirFunction, MirModule}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::{HashMap, HashSet}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 304, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::ValueIdGenerator", + "imported_names": [], + "alias": null, + "line_number": 305, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 16, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipError", + "full_name": "", + "start_line": 13, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 34, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 51, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 53, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_module", + "full_name": "", + "start_line": 64, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_function", + "full_name": "", + "start_line": 81, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "process_instruction", + "full_name": "", + "start_line": 113, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 126, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 155, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_ownership_forest", + "full_name": "", + "start_line": 173, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap>", + "full_name": "", + "start_line": 177, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 182, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "check_multiple_owners", + "full_name": "", + "start_line": 201, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 202, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "find_strong_cycle", + "full_name": "", + "start_line": 216, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dfs_cycle", + "full_name": "", + "start_line": 241, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 253, + "end_line": 267, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 254, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 257, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 262, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ownership_stats", + "full_name": "", + "start_line": 275, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipStats", + "full_name": "", + "start_line": 288, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 296, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 297, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 304, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ownership_forest_basic", + "full_name": "", + "start_line": 308, + "end_line": 328, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 309, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 310, + "end_line": 310, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 312, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 313, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 326, + "end_line": 326, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_reference_tracking", + "full_name": "", + "start_line": 331, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 332, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 333, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 335, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 339, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 342, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 347, + "end_line": 347, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_basic_ref_set", + "full_name": "", + "start_line": 352, + "end_line": 369, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 353, + "end_line": 353, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 354, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 356, + "end_line": 356, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 357, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 360, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 82, + "max_depth": 15, + "node_type_counts": { + "function": 13, + "file_root": 1, + "import": 4, + "class": 5, + "variable": 30, + "for_loop": 8, + "if_statement": 21 + }, + "classes": 5, + "functions": 13, + "methods": 0, + "variables": 30, + "control_structures": 29 + }, + "generated_at": "2025-08-15T16:17:53.942837513Z" }, { "file_info": { "name": "printer.rs", "path": "src/mir/printer.rs", "size_bytes": 0, - "total_lines": 417, - "code_lines": 307, - "comment_lines": 32, - "empty_lines": 78, - "code_ratio": 0.7362110311750599, - "analyzed_at": "2025-08-13T11:36:21.767159839Z", + "total_lines": 441, + "code_lines": 325, + "comment_lines": 34, + "empty_lines": 82, + "code_ratio": 0.7369614512471655, + "analyzed_at": "2025-08-15T16:17:53.979457673Z", "metadata": {} }, "language": "rust", @@ -107869,7 +140195,7 @@ "name": "MirPrinter", "parent_class": null, "start_line": 22, - "end_line": 366, + "end_line": 390, "methods": [], "properties": [], "member_variables": [], @@ -107880,14 +140206,14 @@ { "name": "MirPrinter", "parent_class": null, - "start_line": 368, - "end_line": 372, + "start_line": 392, + "end_line": 396, "methods": [], "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Default", - "type": "impl" + "type": "impl", + "implementing_trait": "Default" } } ], @@ -107907,8 +140233,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -107926,8 +140252,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -107970,8 +140296,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -107992,8 +140318,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -108014,8 +140340,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -108061,7 +140387,7 @@ { "name": "format_instruction", "start_line": 189, - "end_line": 351, + "end_line": 374, "parameters": [ "&self", "instruction: &MirInstruction" @@ -108151,10 +140477,28 @@ "type": "closure" } }, + { + "name": "closure", + "start_line": 366, + "end_line": 366, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, { "name": "format_type", - "start_line": 354, - "end_line": 365, + "start_line": 377, + "end_line": 389, "parameters": [ "&self", "mir_type: &super::MirType" @@ -108174,8 +140518,8 @@ }, { "name": "default", - "start_line": 369, - "end_line": 371, + "start_line": 393, + "end_line": 395, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -108192,8 +140536,8 @@ }, { "name": "test_empty_module_printing", - "start_line": 380, - "end_line": 388, + "start_line": 404, + "end_line": 412, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -108210,8 +140554,8 @@ }, { "name": "test_function_printing", - "start_line": 391, - "end_line": 406, + "start_line": 415, + "end_line": 430, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -108228,8 +140572,8 @@ }, { "name": "test_verbose_printing", - "start_line": 409, - "end_line": 416, + "start_line": 433, + "end_line": 440, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -108267,7 +140611,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 376, + "line_number": 400, "metadata": {} }, { @@ -108275,7 +140619,7 @@ "module_path": "crate::mir::{MirModule, MirFunction, FunctionSignature, MirType, EffectMask, BasicBlockId}", "imported_names": [], "alias": null, - "line_number": 377, + "line_number": 401, "metadata": {} } ], @@ -108293,7 +140637,7 @@ "metadata": {}, "stats": { "class_count": 3, - "function_count": 18, + "function_count": 19, "import_count": 4, "export_count": 0, "unique_calls": 0, @@ -108358,7 +140702,7 @@ "name": "MirPrinter", "full_name": "", "start_line": 22, - "end_line": 366, + "end_line": 390, "start_column": 0, "end_column": 0, "depth": 1, @@ -108820,7 +141164,7 @@ "name": "format_instruction", "full_name": "", "start_line": 189, - "end_line": 351, + "end_line": 374, "start_column": 0, "end_column": 0, "depth": 3, @@ -108941,12 +141285,40 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 366, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 371, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "format_type", "full_name": "", - "start_line": 354, - "end_line": 365, + "start_line": 377, + "end_line": 389, "start_column": 0, "end_column": 0, "depth": 3, @@ -108959,8 +141331,8 @@ "type": "class", "name": "MirPrinter", "full_name": "", - "start_line": 368, - "end_line": 372, + "start_line": 392, + "end_line": 396, "start_column": 0, "end_column": 0, "depth": 1, @@ -108973,8 +141345,8 @@ "type": "function", "name": "default", "full_name": "", - "start_line": 369, - "end_line": 371, + "start_line": 393, + "end_line": 395, "start_column": 0, "end_column": 0, "depth": 3, @@ -108987,8 +141359,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 376, - "end_line": 376, + "start_line": 400, + "end_line": 400, "start_column": 0, "end_column": 0, "depth": 3, @@ -109001,8 +141373,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 377, - "end_line": 377, + "start_line": 401, + "end_line": 401, "start_column": 0, "end_column": 0, "depth": 3, @@ -109015,8 +141387,8 @@ "type": "function", "name": "test_empty_module_printing", "full_name": "", - "start_line": 380, - "end_line": 388, + "start_line": 404, + "end_line": 412, "start_column": 0, "end_column": 0, "depth": 3, @@ -109029,8 +141401,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 381, - "end_line": 381, + "start_line": 405, + "end_line": 405, "start_column": 0, "end_column": 0, "depth": 5, @@ -109043,8 +141415,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 382, - "end_line": 382, + "start_line": 406, + "end_line": 406, "start_column": 0, "end_column": 0, "depth": 5, @@ -109057,8 +141429,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 384, - "end_line": 384, + "start_line": 408, + "end_line": 408, "start_column": 0, "end_column": 0, "depth": 5, @@ -109071,8 +141443,8 @@ "type": "function", "name": "test_function_printing", "full_name": "", - "start_line": 391, - "end_line": 406, + "start_line": 415, + "end_line": 430, "start_column": 0, "end_column": 0, "depth": 3, @@ -109085,8 +141457,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 392, - "end_line": 397, + "start_line": 416, + "end_line": 421, "start_column": 0, "end_column": 0, "depth": 5, @@ -109099,8 +141471,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 399, - "end_line": 399, + "start_line": 423, + "end_line": 423, "start_column": 0, "end_column": 0, "depth": 5, @@ -109113,8 +141485,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 400, - "end_line": 400, + "start_line": 424, + "end_line": 424, "start_column": 0, "end_column": 0, "depth": 5, @@ -109127,8 +141499,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 402, - "end_line": 402, + "start_line": 426, + "end_line": 426, "start_column": 0, "end_column": 0, "depth": 5, @@ -109141,8 +141513,8 @@ "type": "function", "name": "test_verbose_printing", "full_name": "", - "start_line": 409, - "end_line": 416, + "start_line": 433, + "end_line": 440, "start_column": 0, "end_column": 0, "depth": 3, @@ -109155,8 +141527,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 410, - "end_line": 410, + "start_line": 434, + "end_line": 434, "start_column": 0, "end_column": 0, "depth": 5, @@ -109169,8 +141541,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 411, - "end_line": 411, + "start_line": 435, + "end_line": 435, "start_column": 0, "end_column": 0, "depth": 5, @@ -109183,8 +141555,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 413, - "end_line": 413, + "start_line": 437, + "end_line": 437, "start_column": 0, "end_column": 0, "depth": 5, @@ -109198,24 +141570,24 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 64, + "total_nodes": 66, "max_depth": 12, "node_type_counts": { - "if_statement": 16, - "variable": 22, "class": 3, - "file_root": 1, "function": 13, + "import": 4, + "file_root": 1, + "if_statement": 17, "for_loop": 5, - "import": 4 + "variable": 23 }, "classes": 3, "functions": 13, "methods": 0, - "variables": 22, - "control_structures": 21 + "variables": 23, + "control_structures": 22 }, - "generated_at": "2025-08-13T11:36:21.767191349Z" + "generated_at": "2025-08-15T16:17:53.979482913Z" }, { "file_info": { @@ -109227,7 +141599,7 @@ "comment_lines": 22, "empty_lines": 39, "code_ratio": 0.6903553299492385, - "analyzed_at": "2025-08-13T11:36:21.767154132Z", + "analyzed_at": "2025-08-15T16:17:53.940791930Z", "metadata": {} }, "language": "rust", @@ -109266,8 +141638,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "fmt::Display", - "type": "impl" + "type": "impl", + "implementing_trait": "fmt::Display" } }, { @@ -109279,8 +141651,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { @@ -109304,8 +141676,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "fmt::Display" + "implementing_trait": "fmt::Display", + "type": "impl" } }, { @@ -109380,8 +141752,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Default", - "type": "impl" + "type": "impl", + "implementing_trait": "Default" } } ], @@ -109424,8 +141796,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -109445,8 +141817,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -109569,8 +141941,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -109590,8 +141962,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -109611,8 +141983,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -109690,8 +142062,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -109711,8 +142083,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -110626,9 +142998,9 @@ "node_type_counts": { "variable": 17, "function": 22, - "file_root": 1, "class": 12, - "import": 2 + "import": 2, + "file_root": 1 }, "classes": 12, "functions": 22, @@ -110636,7 +143008,7 @@ "variables": 17, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.767167671Z" + "generated_at": "2025-08-15T16:17:53.940802920Z" }, { "file_info": { @@ -110648,7 +143020,7 @@ "comment_lines": 46, "empty_lines": 45, "code_ratio": 0.7299703264094956, - "analyzed_at": "2025-08-13T11:36:21.766953929Z", + "analyzed_at": "2025-08-15T16:17:53.977372160Z", "metadata": {} }, "language": "rust", @@ -110675,8 +143047,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -110713,8 +143085,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "std::fmt::Display", - "type": "impl" + "type": "impl", + "implementing_trait": "std::fmt::Display" } } ], @@ -110734,8 +143106,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -110756,8 +143128,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -112122,13 +144494,13 @@ "total_nodes": 77, "max_depth": 21, "node_type_counts": { - "variable": 14, - "function": 13, - "for_loop": 16, - "file_root": 1, - "if_statement": 24, "class": 5, - "import": 4 + "import": 4, + "if_statement": 24, + "function": 13, + "variable": 14, + "for_loop": 16, + "file_root": 1 }, "classes": 5, "functions": 13, @@ -112136,19 +144508,19 @@ "variables": 14, "control_structures": 40 }, - "generated_at": "2025-08-13T11:36:21.766975555Z" + "generated_at": "2025-08-15T16:17:53.977392614Z" }, { "file_info": { "name": "operator_traits.rs", "path": "src/operator_traits.rs", "size_bytes": 0, - "total_lines": 373, - "code_lines": 241, - "comment_lines": 72, - "empty_lines": 60, - "code_ratio": 0.646112600536193, - "analyzed_at": "2025-08-13T11:36:21.765373948Z", + "total_lines": 144, + "code_lines": 65, + "comment_lines": 51, + "empty_lines": 28, + "code_ratio": 0.4513888888888889, + "analyzed_at": "2025-08-15T16:17:53.975674184Z", "metadata": {} }, "language": "rust", @@ -112156,8 +144528,8 @@ { "name": "NyashAdd", "parent_class": null, - "start_line": 22, - "end_line": 28, + "start_line": 25, + "end_line": 31, "methods": [], "properties": [], "member_variables": [], @@ -112169,8 +144541,8 @@ { "name": "NyashSub", "parent_class": null, - "start_line": 31, - "end_line": 37, + "start_line": 34, + "end_line": 40, "methods": [], "properties": [], "member_variables": [], @@ -112182,8 +144554,8 @@ { "name": "NyashMul", "parent_class": null, - "start_line": 40, - "end_line": 46, + "start_line": 43, + "end_line": 49, "methods": [], "properties": [], "member_variables": [], @@ -112195,8 +144567,8 @@ { "name": "NyashDiv", "parent_class": null, - "start_line": 49, - "end_line": 55, + "start_line": 52, + "end_line": 58, "methods": [], "properties": [], "member_variables": [], @@ -112208,21 +144580,8 @@ { "name": "DynamicAdd", "parent_class": null, - "start_line": 61, - "end_line": 68, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "modifiers": "pub", - "type": "trait" - } - }, - { - "name": "DynamicSub", - "parent_class": null, - "start_line": 71, - "end_line": 77, + "start_line": 64, + "end_line": 71, "methods": [], "properties": [], "member_variables": [], @@ -112232,10 +144591,10 @@ } }, { - "name": "DynamicMul", + "name": "DynamicSub", "parent_class": null, - "start_line": 80, - "end_line": 86, + "start_line": 74, + "end_line": 80, "methods": [], "properties": [], "member_variables": [], @@ -112244,49 +144603,37 @@ "type": "trait" } }, + { + "name": "DynamicMul", + "parent_class": null, + "start_line": 83, + "end_line": 89, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "trait", + "modifiers": "pub" + } + }, { "name": "DynamicDiv", "parent_class": null, - "start_line": 89, - "end_line": 95, + "start_line": 92, + "end_line": 98, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "trait" - } - }, - { - "name": "OperatorResolver", - "parent_class": null, - "start_line": 101, - "end_line": 101, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "modifiers": "pub", - "type": "struct" - } - }, - { - "name": "OperatorResolver", - "parent_class": null, - "start_line": 103, - "end_line": 251, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" + "type": "trait", + "modifiers": "pub" } }, { "name": "OperatorError", "parent_class": null, - "start_line": 257, - "end_line": 273, + "start_line": 104, + "end_line": 120, "methods": [], "properties": [], "member_variables": [], @@ -112298,8 +144645,8 @@ { "name": "OperatorError", "parent_class": null, - "start_line": 275, - "end_line": 291, + "start_line": 122, + "end_line": 138, "methods": [], "properties": [], "member_variables": [], @@ -112311,8 +144658,8 @@ { "name": "OperatorError", "parent_class": null, - "start_line": 293, - "end_line": 293, + "start_line": 140, + "end_line": 140, "methods": [], "properties": [], "member_variables": [], @@ -112320,126 +144667,13 @@ "type": "impl", "implementing_trait": "std::error::Error" } - }, - { - "name": "OperatorSignature", - "parent_class": null, - "start_line": 299, - "end_line": 304, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "struct", - "modifiers": "pub" - } - }, - { - "name": "OperatorSignature", - "parent_class": null, - "start_line": 306, - "end_line": 338, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "impl" - } } ], "functions": [ - { - "name": "resolve_add", - "start_line": 105, - "end_line": 143, - "parameters": [ - "left: &dyn NyashBox", - "right: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "resolve_sub", - "start_line": 146, - "end_line": 174, - "parameters": [ - "left: &dyn NyashBox", - "right: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "modifiers": "pub", - "type": "function" - } - }, - { - "name": "resolve_mul", - "start_line": 177, - "end_line": 211, - "parameters": [ - "left: &dyn NyashBox", - "right: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "resolve_div", - "start_line": 214, - "end_line": 250, - "parameters": [ - "left: &dyn NyashBox", - "right: &dyn NyashBox" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, { "name": "fmt", - "start_line": 276, - "end_line": 290, + "start_line": 123, + "end_line": 137, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -112456,86 +144690,6 @@ "metadata": { "type": "function" } - }, - { - "name": "new", - "start_line": 307, - "end_line": 314, - "parameters": [ - "left_type: &str", - "right_type: &str", - "output_type: &str" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub" - } - }, - { - "name": "calculate_specificity", - "start_line": 318, - "end_line": 337, - "parameters": [ - "left_type: &str", - "right_type: &str" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "test_operator_signature_specificity", - "start_line": 345, - "end_line": 358, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "test_operator_error_display", - "start_line": 361, - "end_line": 372, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } } ], "imports": [ @@ -112554,14 +144708,6 @@ "alias": null, "line_number": 16, "metadata": {} - }, - { - "type": "rust_use", - "module_path": "super::*", - "imported_names": [], - "alias": null, - "line_number": 342, - "metadata": {} } ], "exports": [], @@ -112577,9 +144723,9 @@ "commented_lines": [], "metadata": {}, "stats": { - "class_count": 15, - "function_count": 9, - "import_count": 3, + "class_count": 11, + "function_count": 1, + "import_count": 2, "export_count": 0, "unique_calls": 0, "total_calls": 0, @@ -112628,8 +144774,8 @@ "type": "class", "name": "NyashAdd", "full_name": "", - "start_line": 22, - "end_line": 28, + "start_line": 25, + "end_line": 31, "start_column": 0, "end_column": 0, "depth": 1, @@ -112642,8 +144788,8 @@ "type": "class", "name": "NyashSub", "full_name": "", - "start_line": 31, - "end_line": 37, + "start_line": 34, + "end_line": 40, "start_column": 0, "end_column": 0, "depth": 1, @@ -112656,8 +144802,8 @@ "type": "class", "name": "NyashMul", "full_name": "", - "start_line": 40, - "end_line": 46, + "start_line": 43, + "end_line": 49, "start_column": 0, "end_column": 0, "depth": 1, @@ -112670,8 +144816,8 @@ "type": "class", "name": "NyashDiv", "full_name": "", - "start_line": 49, - "end_line": 55, + "start_line": 52, + "end_line": 58, "start_column": 0, "end_column": 0, "depth": 1, @@ -112684,8 +144830,8 @@ "type": "class", "name": "DynamicAdd", "full_name": "", - "start_line": 61, - "end_line": 68, + "start_line": 64, + "end_line": 71, "start_column": 0, "end_column": 0, "depth": 1, @@ -112698,8 +144844,8 @@ "type": "class", "name": "DynamicSub", "full_name": "", - "start_line": 71, - "end_line": 77, + "start_line": 74, + "end_line": 80, "start_column": 0, "end_column": 0, "depth": 1, @@ -112712,8 +144858,8 @@ "type": "class", "name": "DynamicMul", "full_name": "", - "start_line": 80, - "end_line": 86, + "start_line": 83, + "end_line": 89, "start_column": 0, "end_column": 0, "depth": 1, @@ -112726,498 +144872,8 @@ "type": "class", "name": "DynamicDiv", "full_name": "", - "start_line": 89, - "end_line": 95, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "OperatorResolver", - "full_name": "", - "start_line": 101, - "end_line": 101, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "OperatorResolver", - "full_name": "", - "start_line": 103, - "end_line": 251, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "resolve_add", - "full_name": "", - "start_line": 105, - "end_line": 143, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 113, - "end_line": 117, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 114, - "end_line": 116, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 119, - "end_line": 123, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 120, - "end_line": 122, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 125, - "end_line": 129, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 126, - "end_line": 128, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 131, - "end_line": 135, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 132, - "end_line": 134, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "resolve_sub", - "full_name": "", - "start_line": 146, - "end_line": 174, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 151, - "end_line": 155, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 152, - "end_line": 154, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 157, - "end_line": 161, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 158, - "end_line": 160, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 163, - "end_line": 167, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 164, - "end_line": 166, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "resolve_mul", - "full_name": "", - "start_line": 177, - "end_line": 211, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 182, - "end_line": 186, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 183, - "end_line": 185, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 188, - "end_line": 192, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 189, - "end_line": 191, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 194, - "end_line": 198, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 195, - "end_line": 197, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 200, - "end_line": 204, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 201, - "end_line": 203, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "resolve_div", - "full_name": "", - "start_line": 214, - "end_line": 250, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 219, - "end_line": 226, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 220, - "end_line": 225, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 228, - "end_line": 235, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 229, - "end_line": 234, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 237, - "end_line": 243, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 238, - "end_line": 242, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "OperatorError", - "full_name": "", - "start_line": 257, - "end_line": 273, + "start_line": 92, + "end_line": 98, "start_column": 0, "end_column": 0, "depth": 1, @@ -113230,8 +144886,22 @@ "type": "class", "name": "OperatorError", "full_name": "", - "start_line": 275, - "end_line": 291, + "start_line": 104, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OperatorError", + "full_name": "", + "start_line": 122, + "end_line": 138, "start_column": 0, "end_column": 0, "depth": 1, @@ -113244,8 +144914,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 276, - "end_line": 290, + "start_line": 123, + "end_line": 137, "start_column": 0, "end_column": 0, "depth": 3, @@ -113258,8 +144928,8 @@ "type": "class", "name": "OperatorError", "full_name": "", - "start_line": 293, - "end_line": 293, + "start_line": 140, + "end_line": 140, "start_column": 0, "end_column": 0, "depth": 1, @@ -113267,265 +144937,39 @@ "children": [], "attributes": {}, "source_text": null - }, - { - "type": "class", - "name": "OperatorSignature", - "full_name": "", - "start_line": 299, - "end_line": 304, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "OperatorSignature", - "full_name": "", - "start_line": 306, - "end_line": 338, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "new", - "full_name": "", - "start_line": 307, - "end_line": 314, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "calculate_specificity", - "full_name": "", - "start_line": 318, - "end_line": 337, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 320, - "end_line": 320, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 323, - "end_line": 325, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 327, - "end_line": 329, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 332, - "end_line": 334, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "import", - "name": "", - "full_name": "", - "start_line": 342, - "end_line": 342, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "test_operator_signature_specificity", - "full_name": "", - "start_line": 345, - "end_line": 358, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 346, - "end_line": 346, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 347, - "end_line": 347, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 348, - "end_line": 348, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "test_operator_error_display", - "full_name": "", - "start_line": 361, - "end_line": 372, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 362, - "end_line": 366, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 368, - "end_line": 368, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null } ], "attributes": {}, "source_text": null }, "ast_statistics": { - "total_nodes": 65, - "max_depth": 9, + "total_nodes": 15, + "max_depth": 3, "node_type_counts": { - "import": 3, - "function": 9, - "if_statement": 31, + "function": 1, + "import": 2, "file_root": 1, - "class": 15, - "variable": 6 + "class": 11 }, - "classes": 15, - "functions": 9, + "classes": 11, + "functions": 1, "methods": 0, - "variables": 6, - "control_structures": 31 + "variables": 0, + "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.765394650Z" + "generated_at": "2025-08-15T16:17:53.975681895Z" }, { "file_info": { "name": "expressions.rs", "path": "src/parser/expressions.rs", "size_bytes": 0, - "total_lines": 532, - "code_lines": 422, - "comment_lines": 37, - "empty_lines": 73, - "code_ratio": 0.793233082706767, - "analyzed_at": "2025-08-13T11:36:21.768044407Z", + "total_lines": 556, + "code_lines": 442, + "comment_lines": 40, + "empty_lines": 74, + "code_ratio": 0.7949640287769785, + "analyzed_at": "2025-08-15T16:17:53.983467510Z", "metadata": {} }, "language": "rust", @@ -113534,7 +144978,7 @@ "name": "NyashParser", "parent_class": null, "start_line": 44, - "end_line": 532, + "end_line": 556, "methods": [], "properties": [], "member_variables": [], @@ -113561,8 +145005,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { @@ -113668,7 +145112,7 @@ { "name": "parse_factor", "start_line": 174, - "end_line": 194, + "end_line": 195, "parameters": [ "&mut self" ], @@ -113687,8 +145131,8 @@ }, { "name": "parse_unary", - "start_line": 197, - "end_line": 228, + "start_line": 198, + "end_line": 229, "parameters": [ "&mut self" ], @@ -113707,8 +145151,8 @@ }, { "name": "parse_call", - "start_line": 231, - "end_line": 311, + "start_line": 232, + "end_line": 312, "parameters": [ "&mut self" ], @@ -113727,8 +145171,8 @@ }, { "name": "parse_primary", - "start_line": 314, - "end_line": 460, + "start_line": 315, + "end_line": 469, "parameters": [ "&mut self" ], @@ -113747,8 +145191,8 @@ }, { "name": "parse_from_call", - "start_line": 463, - "end_line": 531, + "start_line": 472, + "end_line": 555, "parameters": [ "&mut self" ], @@ -113762,8 +145206,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } } ], @@ -113872,7 +145316,7 @@ "name": "NyashParser", "full_name": "", "start_line": 44, - "end_line": 532, + "end_line": 556, "start_column": 0, "end_column": 0, "depth": 1, @@ -114278,7 +145722,7 @@ "name": "parse_factor", "full_name": "", "start_line": 174, - "end_line": 194, + "end_line": 195, "start_column": 0, "end_column": 0, "depth": 3, @@ -114306,7 +145750,7 @@ "name": "", "full_name": "", "start_line": 177, - "end_line": 191, + "end_line": 192, "start_column": 0, "end_column": 0, "depth": 6, @@ -114320,7 +145764,7 @@ "name": "", "full_name": "", "start_line": 178, - "end_line": 182, + "end_line": 183, "start_column": 0, "end_column": 0, "depth": 8, @@ -114333,8 +145777,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 184, - "end_line": 184, + "start_line": 185, + "end_line": 185, "start_column": 0, "end_column": 0, "depth": 8, @@ -114347,8 +145791,8 @@ "type": "function", "name": "parse_unary", "full_name": "", - "start_line": 197, - "end_line": 228, + "start_line": 198, + "end_line": 229, "start_column": 0, "end_column": 0, "depth": 3, @@ -114361,8 +145805,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 198, - "end_line": 206, + "start_line": 199, + "end_line": 207, "start_column": 0, "end_column": 0, "depth": 6, @@ -114375,8 +145819,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 200, - "end_line": 200, + "start_line": 201, + "end_line": 201, "start_column": 0, "end_column": 0, "depth": 8, @@ -114389,8 +145833,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 208, - "end_line": 216, + "start_line": 209, + "end_line": 217, "start_column": 0, "end_column": 0, "depth": 6, @@ -114403,8 +145847,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 210, - "end_line": 210, + "start_line": 211, + "end_line": 211, "start_column": 0, "end_column": 0, "depth": 8, @@ -114417,8 +145861,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 218, - "end_line": 225, + "start_line": 219, + "end_line": 226, "start_column": 0, "end_column": 0, "depth": 6, @@ -114431,8 +145875,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 220, - "end_line": 220, + "start_line": 221, + "end_line": 221, "start_column": 0, "end_column": 0, "depth": 8, @@ -114445,8 +145889,8 @@ "type": "function", "name": "parse_call", "full_name": "", - "start_line": 231, - "end_line": 311, + "start_line": 232, + "end_line": 312, "start_column": 0, "end_column": 0, "depth": 3, @@ -114459,8 +145903,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 232, - "end_line": 232, + "start_line": 233, + "end_line": 233, "start_column": 0, "end_column": 0, "depth": 5, @@ -114473,8 +145917,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 234, - "end_line": 308, + "start_line": 235, + "end_line": 309, "start_column": 0, "end_column": 0, "depth": 6, @@ -114487,8 +145931,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 235, - "end_line": 307, + "start_line": 236, + "end_line": 308, "start_column": 0, "end_column": 0, "depth": 9, @@ -114501,8 +145945,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 238, - "end_line": 283, + "start_line": 239, + "end_line": 284, "start_column": 0, "end_column": 0, "depth": 12, @@ -114515,8 +145959,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 239, - "end_line": 239, + "start_line": 240, + "end_line": 240, "start_column": 0, "end_column": 0, "depth": 14, @@ -114529,8 +145973,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 242, - "end_line": 275, + "start_line": 243, + "end_line": 276, "start_column": 0, "end_column": 0, "depth": 15, @@ -114539,20 +145983,6 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 245, - "end_line": 245, - "start_column": 0, - "end_column": 0, - "depth": 17, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", @@ -114567,12 +145997,26 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 247, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "for_loop", "name": "", "full_name": "", - "start_line": 248, - "end_line": 258, + "start_line": 249, + "end_line": 259, "start_column": 0, "end_column": 0, "depth": 18, @@ -114585,8 +146029,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 254, - "end_line": 257, + "start_line": 255, + "end_line": 258, "start_column": 0, "end_column": 0, "depth": 21, @@ -114599,8 +146043,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 277, - "end_line": 277, + "start_line": 278, + "end_line": 278, "start_column": 0, "end_column": 0, "depth": 15, @@ -114613,8 +146057,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 284, - "end_line": 307, + "start_line": 285, + "end_line": 308, "start_column": 0, "end_column": 0, "depth": 11, @@ -114627,8 +146071,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 286, - "end_line": 304, + "start_line": 287, + "end_line": 305, "start_column": 0, "end_column": 0, "depth": 14, @@ -114641,8 +146085,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 288, - "end_line": 288, + "start_line": 289, + "end_line": 289, "start_column": 0, "end_column": 0, "depth": 16, @@ -114655,8 +146099,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 290, - "end_line": 297, + "start_line": 291, + "end_line": 298, "start_column": 0, "end_column": 0, "depth": 17, @@ -114669,8 +146113,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 294, - "end_line": 296, + "start_line": 295, + "end_line": 297, "start_column": 0, "end_column": 0, "depth": 20, @@ -114683,8 +146127,8 @@ "type": "function", "name": "parse_primary", "full_name": "", - "start_line": 314, - "end_line": 460, + "start_line": 315, + "end_line": 469, "start_column": 0, "end_column": 0, "depth": 3, @@ -114697,8 +146141,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 317, - "end_line": 317, + "start_line": 318, + "end_line": 318, "start_column": 0, "end_column": 0, "depth": 10, @@ -114711,8 +146155,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 326, - "end_line": 326, + "start_line": 327, + "end_line": 327, "start_column": 0, "end_column": 0, "depth": 10, @@ -114725,8 +146169,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 335, - "end_line": 335, + "start_line": 336, + "end_line": 336, "start_column": 0, "end_column": 0, "depth": 10, @@ -114739,8 +146183,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 372, - "end_line": 434, + "start_line": 381, + "end_line": 443, "start_column": 0, "end_column": 0, "depth": 11, @@ -114753,8 +146197,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 373, - "end_line": 373, + "start_line": 382, + "end_line": 382, "start_column": 0, "end_column": 0, "depth": 13, @@ -114767,8 +146211,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 377, - "end_line": 405, + "start_line": 386, + "end_line": 414, "start_column": 0, "end_column": 0, "depth": 13, @@ -114781,8 +146225,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 377, - "end_line": 405, + "start_line": 386, + "end_line": 414, "start_column": 0, "end_column": 0, "depth": 14, @@ -114795,8 +146239,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 379, - "end_line": 379, + "start_line": 388, + "end_line": 388, "start_column": 0, "end_column": 0, "depth": 16, @@ -114809,8 +146253,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 381, - "end_line": 399, + "start_line": 390, + "end_line": 408, "start_column": 0, "end_column": 0, "depth": 17, @@ -114823,8 +146267,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 382, - "end_line": 398, + "start_line": 391, + "end_line": 407, "start_column": 0, "end_column": 0, "depth": 20, @@ -114837,8 +146281,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 386, - "end_line": 390, + "start_line": 395, + "end_line": 399, "start_column": 0, "end_column": 0, "depth": 23, @@ -114851,8 +146295,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 392, - "end_line": 392, + "start_line": 401, + "end_line": 401, "start_column": 0, "end_column": 0, "depth": 23, @@ -114865,8 +146309,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 408, - "end_line": 408, + "start_line": 417, + "end_line": 417, "start_column": 0, "end_column": 0, "depth": 13, @@ -114879,8 +146323,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 410, - "end_line": 417, + "start_line": 419, + "end_line": 426, "start_column": 0, "end_column": 0, "depth": 14, @@ -114893,8 +146337,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 414, - "end_line": 416, + "start_line": 423, + "end_line": 425, "start_column": 0, "end_column": 0, "depth": 17, @@ -114907,8 +146351,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 428, - "end_line": 428, + "start_line": 437, + "end_line": 437, "start_column": 0, "end_column": 0, "depth": 14, @@ -114921,8 +146365,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 443, - "end_line": 443, + "start_line": 452, + "end_line": 452, "start_column": 0, "end_column": 0, "depth": 10, @@ -114935,8 +146379,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 450, - "end_line": 450, + "start_line": 459, + "end_line": 459, "start_column": 0, "end_column": 0, "depth": 10, @@ -114949,8 +146393,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 456, - "end_line": 456, + "start_line": 465, + "end_line": 465, "start_column": 0, "end_column": 0, "depth": 10, @@ -114963,8 +146407,8 @@ "type": "function", "name": "parse_from_call", "full_name": "", - "start_line": 463, - "end_line": 531, + "start_line": 472, + "end_line": 555, "start_column": 0, "end_column": 0, "depth": 3, @@ -114977,8 +146421,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 467, - "end_line": 478, + "start_line": 476, + "end_line": 487, "start_column": 0, "end_column": 0, "depth": 5, @@ -114991,8 +146435,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 467, - "end_line": 478, + "start_line": 476, + "end_line": 487, "start_column": 0, "end_column": 0, "depth": 6, @@ -115005,8 +146449,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 468, - "end_line": 468, + "start_line": 477, + "end_line": 477, "start_column": 0, "end_column": 0, "depth": 8, @@ -115019,8 +146463,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 472, - "end_line": 472, + "start_line": 481, + "end_line": 481, "start_column": 0, "end_column": 0, "depth": 9, @@ -115033,8 +146477,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 484, - "end_line": 506, + "start_line": 490, + "end_line": 530, "start_column": 0, "end_column": 0, "depth": 5, @@ -115044,14 +146488,14 @@ "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", - "start_line": 486, - "end_line": 486, + "start_line": 490, + "end_line": 530, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 6, "scope_path": "", "children": [], "attributes": {}, @@ -115061,11 +146505,11 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 499, - "end_line": 499, + "start_line": 497, + "end_line": 497, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 13, "scope_path": "", "children": [], "attributes": {}, @@ -115075,8 +146519,36 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 510, - "end_line": 510, + "start_line": 514, + "end_line": 514, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 525, + "end_line": 525, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 534, + "end_line": 534, "start_column": 0, "end_column": 0, "depth": 5, @@ -115089,8 +146561,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 512, - "end_line": 521, + "start_line": 536, + "end_line": 545, "start_column": 0, "end_column": 0, "depth": 6, @@ -115103,8 +146575,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 517, - "end_line": 520, + "start_line": 541, + "end_line": 544, "start_column": 0, "end_column": 0, "depth": 9, @@ -115118,36 +146590,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 93, + "total_nodes": 95, "max_depth": 23, "node_type_counts": { - "class": 1, - "if_statement": 18, - "import": 3, + "for_loop": 12, "file_root": 1, + "if_statement": 19, + "class": 1, "function": 11, - "variable": 47, - "for_loop": 12 + "import": 3, + "variable": 48 }, "classes": 1, "functions": 11, "methods": 0, - "variables": 47, - "control_structures": 30 + "variables": 48, + "control_structures": 31 }, - "generated_at": "2025-08-13T11:36:21.768089689Z" + "generated_at": "2025-08-15T16:17:53.983503363Z" }, { "file_info": { "name": "mod.rs", "path": "src/parser/mod.rs", "size_bytes": 0, - "total_lines": 1461, - "code_lines": 1107, - "comment_lines": 137, - "empty_lines": 217, - "code_ratio": 0.757700205338809, - "analyzed_at": "2025-08-13T11:36:21.768153344Z", + "total_lines": 1530, + "code_lines": 1158, + "comment_lines": 142, + "empty_lines": 230, + "code_ratio": 0.7568627450980392, + "analyzed_at": "2025-08-15T16:17:53.942460170Z", "metadata": {} }, "language": "rust", @@ -115156,7 +146628,7 @@ "name": "ParseError", "parent_class": null, "start_line": 61, - "end_line": 82, + "end_line": 91, "methods": [], "properties": [], "member_variables": [], @@ -115168,21 +146640,21 @@ { "name": "NyashParser", "parent_class": null, - "start_line": 85, - "end_line": 92, + "start_line": 94, + "end_line": 101, "methods": [], "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { "name": "NyashParser", "parent_class": null, - "start_line": 94, - "end_line": 1460, + "start_line": 103, + "end_line": 1529, "methods": [], "properties": [], "member_variables": [], @@ -115194,8 +146666,8 @@ "functions": [ { "name": "new", - "start_line": 96, - "end_line": 103, + "start_line": 105, + "end_line": 112, "parameters": [ "tokens" ], @@ -115215,8 +146687,8 @@ }, { "name": "parse_from_string", - "start_line": 106, - "end_line": 108, + "start_line": 115, + "end_line": 117, "parameters": [ "input" ], @@ -115230,14 +146702,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "parse_from_string_with_fuel", - "start_line": 112, - "end_line": 120, + "start_line": 121, + "end_line": 129, "parameters": [ "input", "fuel" @@ -115258,8 +146730,8 @@ }, { "name": "parse", - "start_line": 123, - "end_line": 125, + "start_line": 132, + "end_line": 134, "parameters": [ "&mut self" ], @@ -115273,14 +146745,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "parse_program", - "start_line": 130, - "end_line": 157, + "start_line": 139, + "end_line": 166, "parameters": [ "&mut self" ], @@ -115299,8 +146771,8 @@ }, { "name": "parse_box_declaration", - "start_line": 161, - "end_line": 612, + "start_line": 170, + "end_line": 681, "parameters": [ "&mut self" ], @@ -115319,8 +146791,8 @@ }, { "name": "parse_interface_box_declaration", - "start_line": 615, - "end_line": 710, + "start_line": 684, + "end_line": 779, "parameters": [ "&mut self" ], @@ -115339,27 +146811,7 @@ }, { "name": "parse_global_var", - "start_line": 713, - "end_line": 733, - "parameters": [ - "&mut self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "parse_function_declaration", - "start_line": 737, + "start_line": 782, "end_line": 802, "parameters": [ "&mut self" @@ -115377,10 +146829,30 @@ "type": "function" } }, + { + "name": "parse_function_declaration", + "start_line": 806, + "end_line": 871, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "parse_static_declaration", - "start_line": 805, - "end_line": 821, + "start_line": 874, + "end_line": 890, "parameters": [ "&mut self" ], @@ -115399,8 +146871,8 @@ }, { "name": "parse_static_function", - "start_line": 824, - "end_line": 907, + "start_line": 893, + "end_line": 976, "parameters": [ "&mut self" ], @@ -115419,8 +146891,8 @@ }, { "name": "parse_static_box", - "start_line": 910, - "end_line": 1183, + "start_line": 979, + "end_line": 1252, "parameters": [ "&mut self" ], @@ -115439,8 +146911,8 @@ }, { "name": "parse_assignment_or_function_call", - "start_line": 1186, - "end_line": 1215, + "start_line": 1255, + "end_line": 1284, "parameters": [ "&mut self" ], @@ -115459,8 +146931,8 @@ }, { "name": "current_token", - "start_line": 1222, - "end_line": 1228, + "start_line": 1291, + "end_line": 1297, "parameters": [ "&self" ], @@ -115479,8 +146951,8 @@ }, { "name": "peek_token", - "start_line": 1231, - "end_line": 1237, + "start_line": 1300, + "end_line": 1306, "parameters": [ "&self" ], @@ -115499,8 +146971,8 @@ }, { "name": "advance", - "start_line": 1240, - "end_line": 1244, + "start_line": 1309, + "end_line": 1313, "parameters": [ "&mut self" ], @@ -115519,8 +146991,8 @@ }, { "name": "skip_newlines", - "start_line": 1247, - "end_line": 1255, + "start_line": 1316, + "end_line": 1324, "parameters": [ "&mut self" ], @@ -115539,8 +147011,8 @@ }, { "name": "consume", - "start_line": 1258, - "end_line": 1273, + "start_line": 1327, + "end_line": 1342, "parameters": [ "&mut self", "expected: TokenType" @@ -115560,8 +147032,8 @@ }, { "name": "match_token", - "start_line": 1276, - "end_line": 1279, + "start_line": 1345, + "end_line": 1348, "parameters": [ "&self", "token_type: &TokenType" @@ -115581,8 +147053,8 @@ }, { "name": "is_at_end", - "start_line": 1282, - "end_line": 1285, + "start_line": 1351, + "end_line": 1354, "parameters": [ "&self" ], @@ -115601,8 +147073,8 @@ }, { "name": "extract_dependencies_from_statements", - "start_line": 1292, - "end_line": 1300, + "start_line": 1361, + "end_line": 1369, "parameters": [ "&self", "statements: &[ASTNode]" @@ -115622,8 +147094,8 @@ }, { "name": "extract_dependencies_from_ast", - "start_line": 1303, - "end_line": 1356, + "start_line": 1372, + "end_line": 1425, "parameters": [ "&self", "node: &ASTNode", @@ -115644,8 +147116,8 @@ }, { "name": "check_circular_dependencies", - "start_line": 1359, - "end_line": 1373, + "start_line": 1428, + "end_line": 1442, "parameters": [ "&self" ], @@ -115664,8 +147136,8 @@ }, { "name": "has_cycle_dfs", - "start_line": 1376, - "end_line": 1409, + "start_line": 1445, + "end_line": 1478, "parameters": [ "&self", "current: &str", @@ -115688,8 +147160,8 @@ }, { "name": "closure", - "start_line": 1395, - "end_line": 1395, + "start_line": 1464, + "end_line": 1464, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -115706,8 +147178,8 @@ }, { "name": "validate_override_methods", - "start_line": 1414, - "end_line": 1459, + "start_line": 1483, + "end_line": 1528, "parameters": [ "&self", "child_name: &str", @@ -115855,21 +147327,7 @@ "name": "ParseError", "full_name": "", "start_line": 61, - "end_line": 82, - "start_column": 0, - "end_column": 0, - "depth": 1, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "class", - "name": "NyashParser", - "full_name": "", - "start_line": 85, - "end_line": 92, + "end_line": 91, "start_column": 0, "end_column": 0, "depth": 1, @@ -115883,7 +147341,21 @@ "name": "NyashParser", "full_name": "", "start_line": 94, - "end_line": 1460, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashParser", + "full_name": "", + "start_line": 103, + "end_line": 1529, "start_column": 0, "end_column": 0, "depth": 1, @@ -115896,8 +147368,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 96, - "end_line": 103, + "start_line": 105, + "end_line": 112, "start_column": 0, "end_column": 0, "depth": 3, @@ -115910,8 +147382,8 @@ "type": "function", "name": "parse_from_string", "full_name": "", - "start_line": 106, - "end_line": 108, + "start_line": 115, + "end_line": 117, "start_column": 0, "end_column": 0, "depth": 3, @@ -115924,8 +147396,8 @@ "type": "function", "name": "parse_from_string_with_fuel", "full_name": "", - "start_line": 112, - "end_line": 120, + "start_line": 121, + "end_line": 129, "start_column": 0, "end_column": 0, "depth": 3, @@ -115938,8 +147410,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 113, - "end_line": 113, + "start_line": 122, + "end_line": 122, "start_column": 0, "end_column": 0, "depth": 5, @@ -115952,8 +147424,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 114, - "end_line": 114, + "start_line": 123, + "end_line": 123, "start_column": 0, "end_column": 0, "depth": 5, @@ -115966,8 +147438,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 116, - "end_line": 116, + "start_line": 125, + "end_line": 125, "start_column": 0, "end_column": 0, "depth": 5, @@ -115980,8 +147452,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 118, - "end_line": 118, + "start_line": 127, + "end_line": 127, "start_column": 0, "end_column": 0, "depth": 5, @@ -115994,8 +147466,8 @@ "type": "function", "name": "parse", "full_name": "", - "start_line": 123, - "end_line": 125, + "start_line": 132, + "end_line": 134, "start_column": 0, "end_column": 0, "depth": 3, @@ -116008,8 +147480,8 @@ "type": "function", "name": "parse_program", "full_name": "", - "start_line": 130, - "end_line": 157, + "start_line": 139, + "end_line": 166, "start_column": 0, "end_column": 0, "depth": 3, @@ -116022,8 +147494,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 131, - "end_line": 131, + "start_line": 140, + "end_line": 140, "start_column": 0, "end_column": 0, "depth": 5, @@ -116036,8 +147508,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 132, - "end_line": 132, + "start_line": 141, + "end_line": 141, "start_column": 0, "end_column": 0, "depth": 5, @@ -116050,8 +147522,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 134, - "end_line": 150, + "start_line": 143, + "end_line": 159, "start_column": 0, "end_column": 0, "depth": 6, @@ -116064,8 +147536,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 137, - "end_line": 139, + "start_line": 146, + "end_line": 148, "start_column": 0, "end_column": 0, "depth": 9, @@ -116078,8 +147550,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 142, - "end_line": 145, + "start_line": 151, + "end_line": 154, "start_column": 0, "end_column": 0, "depth": 9, @@ -116092,8 +147564,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 147, - "end_line": 147, + "start_line": 156, + "end_line": 156, "start_column": 0, "end_column": 0, "depth": 8, @@ -116106,8 +147578,8 @@ "type": "function", "name": "parse_box_declaration", "full_name": "", - "start_line": 161, - "end_line": 612, + "start_line": 170, + "end_line": 681, "start_column": 0, "end_column": 0, "depth": 3, @@ -116120,8 +147592,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 164, - "end_line": 175, + "start_line": 173, + "end_line": 184, "start_column": 0, "end_column": 0, "depth": 5, @@ -116134,8 +147606,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 164, - "end_line": 175, + "start_line": 173, + "end_line": 184, "start_column": 0, "end_column": 0, "depth": 6, @@ -116148,8 +147620,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 165, - "end_line": 165, + "start_line": 174, + "end_line": 174, "start_column": 0, "end_column": 0, "depth": 8, @@ -116162,8 +147634,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 169, - "end_line": 169, + "start_line": 178, + "end_line": 178, "start_column": 0, "end_column": 0, "depth": 9, @@ -116176,8 +147648,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 178, - "end_line": 206, + "start_line": 187, + "end_line": 215, "start_column": 0, "end_column": 0, "depth": 5, @@ -116186,110 +147658,12 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 178, - "end_line": 206, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 180, - "end_line": 180, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 182, - "end_line": 200, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 183, - "end_line": 199, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", "start_line": 187, - "end_line": 191, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 193, - "end_line": 193, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 209, - "end_line": 237, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 209, - "end_line": 237, + "end_line": 215, "start_column": 0, "end_column": 0, "depth": 6, @@ -116302,8 +147676,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 212, - "end_line": 212, + "start_line": 189, + "end_line": 189, "start_column": 0, "end_column": 0, "depth": 8, @@ -116316,36 +147690,148 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 214, + "start_line": 191, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 202, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 221, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 228, "end_line": 232, "start_column": 0, "end_column": 0, - "depth": 9, + "depth": 15, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", - "start_line": 215, - "end_line": 231, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 219, - "end_line": 223, + "start_line": 234, + "end_line": 234, "start_column": 0, "end_column": 0, "depth": 15, @@ -116358,175 +147844,7 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 225, - "end_line": 225, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 240, - "end_line": 268, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 240, - "end_line": 268, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 243, - "end_line": 243, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 245, - "end_line": 263, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 246, - "end_line": 262, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 250, - "end_line": 254, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 256, - "end_line": 256, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 273, - "end_line": 273, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 274, - "end_line": 274, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 275, - "end_line": 275, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 276, - "end_line": 276, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 277, + "start_line": 249, "end_line": 277, "start_column": 0, "end_column": 0, @@ -116537,11 +147855,11 @@ "source_text": null }, { - "type": "for_loop", + "type": "if_statement", "name": "", "full_name": "", - "start_line": 279, - "end_line": 585, + "start_line": 249, + "end_line": 277, "start_column": 0, "end_column": 0, "depth": 6, @@ -116551,28 +147869,14 @@ "source_text": null }, { - "type": "if_statement", + "type": "variable", "name": "", "full_name": "", - "start_line": 283, - "end_line": 285, + "start_line": 252, + "end_line": 252, "start_column": 0, "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 288, - "end_line": 331, - "start_column": 0, - "end_column": 0, - "depth": 9, + "depth": 8, "scope_path": "", "children": [], "attributes": {}, @@ -116582,8 +147886,22 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 293, - "end_line": 327, + "start_line": 254, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 271, "start_column": 0, "end_column": 0, "depth": 12, @@ -116596,8 +147914,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 296, - "end_line": 298, + "start_line": 259, + "end_line": 263, "start_column": 0, "end_column": 0, "depth": 15, @@ -116610,8 +147928,162 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 301, - "end_line": 306, + "start_line": 265, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 282, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 283, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 284, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 288, + "end_line": 654, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 292, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 297, + "end_line": 340, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 302, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 310, + "end_line": 315, "start_column": 0, "end_column": 0, "depth": 14, @@ -116620,40 +148092,40 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 301, - "end_line": 306, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 308, - "end_line": 326, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "if_statement", "name": "", "full_name": "", "start_line": 310, - "end_line": 312, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 319, + "end_line": 321, "start_column": 0, "end_column": 0, "depth": 18, @@ -116666,8 +148138,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 316, - "end_line": 318, + "start_line": 325, + "end_line": 327, "start_column": 0, "end_column": 0, "depth": 18, @@ -116680,8 +148152,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 322, - "end_line": 322, + "start_line": 331, + "end_line": 331, "start_column": 0, "end_column": 0, "depth": 27, @@ -116694,8 +148166,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 334, - "end_line": 334, + "start_line": 343, + "end_line": 343, "start_column": 0, "end_column": 0, "depth": 8, @@ -116708,8 +148180,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 335, - "end_line": 338, + "start_line": 344, + "end_line": 347, "start_column": 0, "end_column": 0, "depth": 9, @@ -116722,8 +148194,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 341, - "end_line": 584, + "start_line": 350, + "end_line": 653, "start_column": 0, "end_column": 0, "depth": 9, @@ -116736,8 +148208,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 342, - "end_line": 342, + "start_line": 351, + "end_line": 351, "start_column": 0, "end_column": 0, "depth": 11, @@ -116750,8 +148222,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 346, - "end_line": 397, + "start_line": 355, + "end_line": 406, "start_column": 0, "end_column": 0, "depth": 12, @@ -116764,8 +148236,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 348, - "end_line": 354, + "start_line": 357, + "end_line": 363, "start_column": 0, "end_column": 0, "depth": 15, @@ -116778,64 +148250,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 358, - "end_line": 358, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 359, - "end_line": 370, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 362, - "end_line": 365, - "start_column": 0, - "end_column": 0, - "depth": 18, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", "start_line": 367, - "end_line": 369, - "start_column": 0, - "end_column": 0, - "depth": 18, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 375, - "end_line": 375, + "end_line": 367, "start_column": 0, "end_column": 0, "depth": 14, @@ -116848,8 +148264,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 376, - "end_line": 381, + "start_line": 368, + "end_line": 379, "start_column": 0, "end_column": 0, "depth": 15, @@ -116862,8 +148278,22 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 378, - "end_line": 380, + "start_line": 371, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 376, + "end_line": 378, "start_column": 0, "end_column": 0, "depth": 18, @@ -116876,8 +148306,50 @@ "type": "variable", "name": "", "full_name": "", + "start_line": 384, + "end_line": 384, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", "start_line": 385, - "end_line": 392, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 387, + "end_line": 389, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 394, + "end_line": 401, "start_column": 0, "end_column": 0, "depth": 14, @@ -116890,8 +148362,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 395, - "end_line": 395, + "start_line": 404, + "end_line": 404, "start_column": 0, "end_column": 0, "depth": 14, @@ -116904,8 +148376,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 401, - "end_line": 584, + "start_line": 410, + "end_line": 653, "start_column": 0, "end_column": 0, "depth": 11, @@ -116918,8 +148390,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 402, - "end_line": 402, + "start_line": 411, + "end_line": 411, "start_column": 0, "end_column": 0, "depth": 13, @@ -116932,8 +148404,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 406, - "end_line": 457, + "start_line": 415, + "end_line": 466, "start_column": 0, "end_column": 0, "depth": 14, @@ -116946,8 +148418,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 408, - "end_line": 414, + "start_line": 417, + "end_line": 423, "start_column": 0, "end_column": 0, "depth": 17, @@ -116960,64 +148432,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 418, - "end_line": 418, - "start_column": 0, - "end_column": 0, - "depth": 16, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 419, - "end_line": 430, - "start_column": 0, - "end_column": 0, - "depth": 17, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 422, - "end_line": 425, - "start_column": 0, - "end_column": 0, - "depth": 20, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", "start_line": 427, - "end_line": 429, - "start_column": 0, - "end_column": 0, - "depth": 20, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 435, - "end_line": 435, + "end_line": 427, "start_column": 0, "end_column": 0, "depth": 16, @@ -117030,8 +148446,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 436, - "end_line": 441, + "start_line": 428, + "end_line": 439, "start_column": 0, "end_column": 0, "depth": 17, @@ -117044,8 +148460,22 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 438, - "end_line": 440, + "start_line": 431, + "end_line": 434, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 436, + "end_line": 438, "start_column": 0, "end_column": 0, "depth": 20, @@ -117058,8 +148488,50 @@ "type": "variable", "name": "", "full_name": "", + "start_line": 444, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", "start_line": 445, - "end_line": 452, + "end_line": 450, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 447, + "end_line": 449, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 454, + "end_line": 461, "start_column": 0, "end_column": 0, "depth": 16, @@ -117072,8 +148544,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 455, - "end_line": 455, + "start_line": 464, + "end_line": 464, "start_column": 0, "end_column": 0, "depth": 16, @@ -117086,8 +148558,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 458, - "end_line": 584, + "start_line": 470, + "end_line": 653, "start_column": 0, "end_column": 0, "depth": 13, @@ -117100,8 +148572,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 459, - "end_line": 459, + "start_line": 471, + "end_line": 471, "start_column": 0, "end_column": 0, "depth": 15, @@ -117114,8 +148586,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 463, - "end_line": 577, + "start_line": 475, + "end_line": 526, "start_column": 0, "end_column": 0, "depth": 16, @@ -117128,8 +148600,36 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 465, - "end_line": 566, + "start_line": 477, + "end_line": 483, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 488, + "end_line": 499, "start_column": 0, "end_column": 0, "depth": 19, @@ -117142,94 +148642,10 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 467, - "end_line": 473, - "start_column": 0, - "end_column": 0, - "depth": 22, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 477, - "end_line": 477, - "start_column": 0, - "end_column": 0, - "depth": 21, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 478, - "end_line": 489, - "start_column": 0, - "end_column": 0, - "depth": 22, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 481, - "end_line": 484, - "start_column": 0, - "end_column": 0, - "depth": 25, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 486, - "end_line": 488, - "start_column": 0, - "end_column": 0, - "depth": 25, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 494, + "start_line": 491, "end_line": 494, "start_column": 0, "end_column": 0, - "depth": 21, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 495, - "end_line": 500, - "start_column": 0, - "end_column": 0, "depth": 22, "scope_path": "", "children": [], @@ -117240,11 +148656,11 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 497, - "end_line": 499, + "start_line": 496, + "end_line": 498, "start_column": 0, "end_column": 0, - "depth": 25, + "depth": 22, "scope_path": "", "children": [], "attributes": {}, @@ -117255,10 +148671,38 @@ "name": "", "full_name": "", "start_line": 504, - "end_line": 511, + "end_line": 504, "start_column": 0, "end_column": 0, - "depth": 21, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 505, + "end_line": 510, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 507, + "end_line": 509, + "start_column": 0, + "end_column": 0, + "depth": 22, "scope_path": "", "children": [], "attributes": {}, @@ -117269,10 +148713,10 @@ "name": "", "full_name": "", "start_line": 514, - "end_line": 514, + "end_line": 521, "start_column": 0, "end_column": 0, - "depth": 21, + "depth": 18, "scope_path": "", "children": [], "attributes": {}, @@ -117282,39 +148726,11 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 520, - "end_line": 520, - "start_column": 0, - "end_column": 0, - "depth": 22, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 521, - "end_line": 541, - "start_column": 0, - "end_column": 0, - "depth": 23, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", "start_line": 524, - "end_line": 540, + "end_line": 524, "start_column": 0, "end_column": 0, - "depth": 26, + "depth": 18, "scope_path": "", "children": [], "attributes": {}, @@ -117324,11 +148740,25 @@ "type": "if_statement", "name": "", "full_name": "", + "start_line": 527, + "end_line": 653, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", "start_line": 528, - "end_line": 531, + "end_line": 528, "start_column": 0, "end_column": 0, - "depth": 29, + "depth": 17, "scope_path": "", "children": [], "attributes": {}, @@ -117339,24 +148769,38 @@ "name": "", "full_name": "", "start_line": 532, - "end_line": 540, + "end_line": 646, "start_column": 0, "end_column": 0, - "depth": 28, + "depth": 18, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", "start_line": 534, - "end_line": 534, + "end_line": 635, "start_column": 0, "end_column": 0, - "depth": 30, + "depth": 21, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 536, + "end_line": 542, + "start_column": 0, + "end_column": 0, + "depth": 24, "scope_path": "", "children": [], "attributes": {}, @@ -117370,7 +148814,7 @@ "end_line": 546, "start_column": 0, "end_column": 0, - "depth": 22, + "depth": 23, "scope_path": "", "children": [], "attributes": {}, @@ -117381,7 +148825,49 @@ "name": "", "full_name": "", "start_line": 547, - "end_line": 552, + "end_line": 558, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 550, + "end_line": 553, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 555, + "end_line": 557, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 563, + "end_line": 563, "start_column": 0, "end_column": 0, "depth": 23, @@ -117390,15 +148876,29 @@ "attributes": {}, "source_text": null }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 564, + "end_line": 569, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "if_statement", "name": "", "full_name": "", - "start_line": 549, - "end_line": 551, + "start_line": 566, + "end_line": 568, "start_column": 0, "end_column": 0, - "depth": 26, + "depth": 27, "scope_path": "", "children": [], "attributes": {}, @@ -117408,8 +148908,176 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 556, - "end_line": 563, + "start_line": 573, + "end_line": 580, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 583, + "end_line": 583, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 589, + "end_line": 589, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 590, + "end_line": 610, + "start_column": 0, + "end_column": 0, + "depth": 25, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 593, + "end_line": 609, + "start_column": 0, + "end_column": 0, + "depth": 28, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 597, + "end_line": 600, + "start_column": 0, + "end_column": 0, + "depth": 31, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 601, + "end_line": 609, + "start_column": 0, + "end_column": 0, + "depth": 30, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 603, + "end_line": 603, + "start_column": 0, + "end_column": 0, + "depth": 32, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 615, + "end_line": 615, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 616, + "end_line": 621, + "start_column": 0, + "end_column": 0, + "depth": 25, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 618, + "end_line": 620, + "start_column": 0, + "end_column": 0, + "depth": 28, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 625, + "end_line": 632, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 638, + "end_line": 644, "start_column": 0, "end_column": 0, "depth": 22, @@ -117418,29 +149086,15 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 569, - "end_line": 575, - "start_column": 0, - "end_column": 0, - "depth": 20, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", "full_name": "", - "start_line": 581, - "end_line": 581, + "start_line": 650, + "end_line": 650, "start_column": 0, "end_column": 0, - "depth": 16, + "depth": 18, "scope_path": "", "children": [], "attributes": {}, @@ -117450,8 +149104,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 590, - "end_line": 595, + "start_line": 659, + "end_line": 664, "start_column": 0, "end_column": 0, "depth": 6, @@ -117464,8 +149118,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 592, - "end_line": 594, + "start_line": 661, + "end_line": 663, "start_column": 0, "end_column": 0, "depth": 9, @@ -117478,8 +149132,8 @@ "type": "function", "name": "parse_interface_box_declaration", "full_name": "", - "start_line": 615, - "end_line": 710, + "start_line": 684, + "end_line": 779, "start_column": 0, "end_column": 0, "depth": 3, @@ -117492,8 +149146,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 619, - "end_line": 630, + "start_line": 688, + "end_line": 699, "start_column": 0, "end_column": 0, "depth": 5, @@ -117506,8 +149160,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 619, - "end_line": 630, + "start_line": 688, + "end_line": 699, "start_column": 0, "end_column": 0, "depth": 6, @@ -117520,8 +149174,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 620, - "end_line": 620, + "start_line": 689, + "end_line": 689, "start_column": 0, "end_column": 0, "depth": 8, @@ -117534,8 +149188,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 624, - "end_line": 624, + "start_line": 693, + "end_line": 693, "start_column": 0, "end_column": 0, "depth": 9, @@ -117548,8 +149202,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 635, - "end_line": 635, + "start_line": 704, + "end_line": 704, "start_column": 0, "end_column": 0, "depth": 5, @@ -117562,8 +149216,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 637, - "end_line": 691, + "start_line": 706, + "end_line": 760, "start_column": 0, "end_column": 0, "depth": 6, @@ -117576,8 +149230,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 639, - "end_line": 690, + "start_line": 708, + "end_line": 759, "start_column": 0, "end_column": 0, "depth": 9, @@ -117590,8 +149244,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 640, - "end_line": 640, + "start_line": 709, + "end_line": 709, "start_column": 0, "end_column": 0, "depth": 11, @@ -117604,8 +149258,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 644, - "end_line": 682, + "start_line": 713, + "end_line": 751, "start_column": 0, "end_column": 0, "depth": 12, @@ -117618,8 +149272,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 647, - "end_line": 647, + "start_line": 716, + "end_line": 716, "start_column": 0, "end_column": 0, "depth": 14, @@ -117632,8 +149286,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 648, - "end_line": 657, + "start_line": 717, + "end_line": 726, "start_column": 0, "end_column": 0, "depth": 15, @@ -117646,8 +149300,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 649, - "end_line": 652, + "start_line": 718, + "end_line": 721, "start_column": 0, "end_column": 0, "depth": 18, @@ -117660,8 +149314,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 654, - "end_line": 656, + "start_line": 723, + "end_line": 725, "start_column": 0, "end_column": 0, "depth": 18, @@ -117674,8 +149328,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 662, - "end_line": 669, + "start_line": 731, + "end_line": 738, "start_column": 0, "end_column": 0, "depth": 14, @@ -117688,8 +149342,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 676, - "end_line": 676, + "start_line": 745, + "end_line": 745, "start_column": 0, "end_column": 0, "depth": 15, @@ -117702,8 +149356,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 684, - "end_line": 684, + "start_line": 753, + "end_line": 753, "start_column": 0, "end_column": 0, "depth": 12, @@ -117716,91 +149370,7 @@ "type": "function", "name": "parse_global_var", "full_name": "", - "start_line": 713, - "end_line": 733, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 716, - "end_line": 727, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 716, - "end_line": 727, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 717, - "end_line": 717, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 721, - "end_line": 721, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 730, - "end_line": 730, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parse_function_declaration", - "full_name": "", - "start_line": 737, + "start_line": 782, "end_line": 802, "start_column": 0, "end_column": 0, @@ -117814,8 +149384,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 741, - "end_line": 752, + "start_line": 785, + "end_line": 796, "start_column": 0, "end_column": 0, "depth": 5, @@ -117828,8 +149398,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 741, - "end_line": 752, + "start_line": 785, + "end_line": 796, "start_column": 0, "end_column": 0, "depth": 6, @@ -117842,8 +149412,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 742, - "end_line": 742, + "start_line": 786, + "end_line": 786, "start_column": 0, "end_column": 0, "depth": 8, @@ -117856,8 +149426,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 746, - "end_line": 746, + "start_line": 790, + "end_line": 790, "start_column": 0, "end_column": 0, "depth": 9, @@ -117870,8 +149440,92 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 756, - "end_line": 756, + "start_line": 799, + "end_line": 799, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_function_declaration", + "full_name": "", + "start_line": 806, + "end_line": 871, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 810, + "end_line": 821, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 810, + "end_line": 821, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 811, + "end_line": 811, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 815, + "end_line": 815, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 825, + "end_line": 825, "start_column": 0, "end_column": 0, "depth": 5, @@ -117884,8 +149538,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 758, - "end_line": 776, + "start_line": 827, + "end_line": 845, "start_column": 0, "end_column": 0, "depth": 6, @@ -117898,8 +149552,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 761, - "end_line": 775, + "start_line": 830, + "end_line": 844, "start_column": 0, "end_column": 0, "depth": 9, @@ -117912,8 +149566,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 765, - "end_line": 767, + "start_line": 834, + "end_line": 836, "start_column": 0, "end_column": 0, "depth": 12, @@ -117926,8 +149580,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 768, - "end_line": 775, + "start_line": 837, + "end_line": 844, "start_column": 0, "end_column": 0, "depth": 11, @@ -117940,8 +149594,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 769, - "end_line": 769, + "start_line": 838, + "end_line": 838, "start_column": 0, "end_column": 0, "depth": 13, @@ -117954,8 +149608,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 784, - "end_line": 784, + "start_line": 853, + "end_line": 853, "start_column": 0, "end_column": 0, "depth": 5, @@ -117968,8 +149622,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 785, - "end_line": 790, + "start_line": 854, + "end_line": 859, "start_column": 0, "end_column": 0, "depth": 6, @@ -117982,8 +149636,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 787, - "end_line": 789, + "start_line": 856, + "end_line": 858, "start_column": 0, "end_column": 0, "depth": 9, @@ -117996,8 +149650,8 @@ "type": "function", "name": "parse_static_declaration", "full_name": "", - "start_line": 805, - "end_line": 821, + "start_line": 874, + "end_line": 890, "start_column": 0, "end_column": 0, "depth": 3, @@ -118010,8 +149664,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 813, - "end_line": 813, + "start_line": 882, + "end_line": 882, "start_column": 0, "end_column": 0, "depth": 10, @@ -118024,8 +149678,8 @@ "type": "function", "name": "parse_static_function", "full_name": "", - "start_line": 824, - "end_line": 907, + "start_line": 893, + "end_line": 976, "start_column": 0, "end_column": 0, "depth": 3, @@ -118038,8 +149692,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 828, - "end_line": 857, + "start_line": 897, + "end_line": 926, "start_column": 0, "end_column": 0, "depth": 5, @@ -118052,8 +149706,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 828, - "end_line": 857, + "start_line": 897, + "end_line": 926, "start_column": 0, "end_column": 0, "depth": 6, @@ -118066,8 +149720,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 829, - "end_line": 829, + "start_line": 898, + "end_line": 898, "start_column": 0, "end_column": 0, "depth": 8, @@ -118080,8 +149734,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 833, - "end_line": 847, + "start_line": 902, + "end_line": 916, "start_column": 0, "end_column": 0, "depth": 9, @@ -118094,8 +149748,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 836, - "end_line": 846, + "start_line": 905, + "end_line": 915, "start_column": 0, "end_column": 0, "depth": 12, @@ -118108,8 +149762,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 840, - "end_line": 840, + "start_line": 909, + "end_line": 909, "start_column": 0, "end_column": 0, "depth": 15, @@ -118122,8 +149776,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 851, - "end_line": 851, + "start_line": 920, + "end_line": 920, "start_column": 0, "end_column": 0, "depth": 9, @@ -118136,8 +149790,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 861, - "end_line": 861, + "start_line": 930, + "end_line": 930, "start_column": 0, "end_column": 0, "depth": 5, @@ -118150,8 +149804,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 863, - "end_line": 881, + "start_line": 932, + "end_line": 950, "start_column": 0, "end_column": 0, "depth": 6, @@ -118164,217 +149818,7 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 866, - "end_line": 880, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 870, - "end_line": 872, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 873, - "end_line": 880, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 874, - "end_line": 874, - "start_column": 0, - "end_column": 0, - "depth": 13, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 889, - "end_line": 889, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 890, - "end_line": 895, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 892, - "end_line": 894, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "parse_static_box", - "full_name": "", - "start_line": 910, - "end_line": 1183, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 913, - "end_line": 924, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 913, - "end_line": 924, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 914, - "end_line": 914, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 918, - "end_line": 918, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 927, - "end_line": 955, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 927, - "end_line": 955, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 929, - "end_line": 929, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 931, + "start_line": 935, "end_line": 949, "start_column": 0, "end_column": 0, @@ -118388,8 +149832,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 932, - "end_line": 948, + "start_line": 939, + "end_line": 941, "start_column": 0, "end_column": 0, "depth": 12, @@ -118402,25 +149846,25 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 936, - "end_line": 940, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", "start_line": 942, - "end_line": 942, + "end_line": 949, "start_column": 0, "end_column": 0, - "depth": 15, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 943, + "end_line": 943, + "start_column": 0, + "end_column": 0, + "depth": 13, "scope_path": "", "children": [], "attributes": {}, @@ -118431,7 +149875,7 @@ "name": "", "full_name": "", "start_line": 958, - "end_line": 986, + "end_line": 958, "start_column": 0, "end_column": 0, "depth": 5, @@ -118441,11 +149885,11 @@ "source_text": null }, { - "type": "if_statement", + "type": "for_loop", "name": "", "full_name": "", - "start_line": 958, - "end_line": 986, + "start_line": 959, + "end_line": 964, "start_column": 0, "end_column": 0, "depth": 6, @@ -118455,25 +149899,11 @@ "source_text": null }, { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", "start_line": 961, - "end_line": 961, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 963, - "end_line": 981, + "end_line": 963, "start_column": 0, "end_column": 0, "depth": 9, @@ -118482,628 +149912,12 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 964, - "end_line": 980, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 968, - "end_line": 972, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 974, - "end_line": 974, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 989, - "end_line": 1017, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 989, - "end_line": 1017, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 992, - "end_line": 992, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 994, - "end_line": 1012, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 995, - "end_line": 1011, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 999, - "end_line": 1003, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1005, - "end_line": 1005, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1022, - "end_line": 1022, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1023, - "end_line": 1023, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1024, - "end_line": 1024, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1025, - "end_line": 1025, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1026, - "end_line": 1026, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1027, - "end_line": 1027, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1029, - "end_line": 1156, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1033, - "end_line": 1035, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1038, - "end_line": 1053, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1042, - "end_line": 1042, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1043, - "end_line": 1048, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1045, - "end_line": 1047, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1056, - "end_line": 1099, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1061, - "end_line": 1095, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1064, - "end_line": 1066, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1069, - "end_line": 1074, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1069, - "end_line": 1074, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1076, - "end_line": 1094, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1078, - "end_line": 1080, - "start_column": 0, - "end_column": 0, - "depth": 18, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1084, - "end_line": 1086, - "start_column": 0, - "end_column": 0, - "depth": 18, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1090, - "end_line": 1090, - "start_column": 0, - "end_column": 0, - "depth": 27, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1101, - "end_line": 1155, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1102, - "end_line": 1102, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1106, - "end_line": 1148, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1110, - "end_line": 1110, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1111, - "end_line": 1120, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1112, - "end_line": 1115, - "start_column": 0, - "end_column": 0, - "depth": 18, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1117, - "end_line": 1119, - "start_column": 0, - "end_column": 0, - "depth": 18, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1125, - "end_line": 1125, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1126, - "end_line": 1131, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1128, - "end_line": 1130, - "start_column": 0, - "end_column": 0, - "depth": 18, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1135, - "end_line": 1142, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1161, - "end_line": 1166, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1162, - "end_line": 1162, - "start_column": 0, - "end_column": 0, - "depth": 8, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", - "name": "parse_assignment_or_function_call", + "name": "parse_static_box", "full_name": "", - "start_line": 1186, - "end_line": 1215, + "start_line": 979, + "end_line": 1252, "start_column": 0, "end_column": 0, "depth": 3, @@ -119116,8 +149930,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1189, - "end_line": 1189, + "start_line": 982, + "end_line": 993, "start_column": 0, "end_column": 0, "depth": 5, @@ -119130,8 +149944,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1192, - "end_line": 1214, + "start_line": 982, + "end_line": 993, "start_column": 0, "end_column": 0, "depth": 6, @@ -119140,6 +149954,720 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 983, + "end_line": 983, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 987, + "end_line": 987, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 996, + "end_line": 1024, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 996, + "end_line": 1024, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 998, + "end_line": 998, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1000, + "end_line": 1018, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1001, + "end_line": 1017, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1005, + "end_line": 1009, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1011, + "end_line": 1011, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1027, + "end_line": 1055, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1027, + "end_line": 1055, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1030, + "end_line": 1030, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1032, + "end_line": 1050, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1033, + "end_line": 1049, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1037, + "end_line": 1041, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1043, + "end_line": 1043, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1058, + "end_line": 1086, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1058, + "end_line": 1086, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1061, + "end_line": 1061, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1063, + "end_line": 1081, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1064, + "end_line": 1080, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1068, + "end_line": 1072, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1074, + "end_line": 1074, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1091, + "end_line": 1091, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1092, + "end_line": 1092, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1093, + "end_line": 1093, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1094, + "end_line": 1094, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1095, + "end_line": 1095, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1096, + "end_line": 1096, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1098, + "end_line": 1225, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1102, + "end_line": 1104, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1107, + "end_line": 1122, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1111, + "end_line": 1111, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1112, + "end_line": 1117, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1114, + "end_line": 1116, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1125, + "end_line": 1168, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1130, + "end_line": 1164, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1133, + "end_line": 1135, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1138, + "end_line": 1143, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1138, + "end_line": 1143, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1145, + "end_line": 1163, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1147, + "end_line": 1149, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1153, + "end_line": 1155, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1159, + "end_line": 1159, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1170, + "end_line": 1224, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1171, + "end_line": 1171, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1175, + "end_line": 1217, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1179, + "end_line": 1179, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1180, + "end_line": 1189, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1181, + "end_line": 1184, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1186, + "end_line": 1188, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", @@ -119148,6 +150676,132 @@ "end_line": 1194, "start_column": 0, "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1195, + "end_line": 1200, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1197, + "end_line": 1199, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1204, + "end_line": 1211, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1230, + "end_line": 1235, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1231, + "end_line": 1231, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_assignment_or_function_call", + "full_name": "", + "start_line": 1255, + "end_line": 1284, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1258, + "end_line": 1258, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1261, + "end_line": 1283, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1263, + "end_line": 1263, + "start_column": 0, + "end_column": 0, "depth": 8, "scope_path": "", "children": [], @@ -119158,8 +150812,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1207, - "end_line": 1207, + "start_line": 1276, + "end_line": 1276, "start_column": 0, "end_column": 0, "depth": 13, @@ -119172,8 +150826,8 @@ "type": "function", "name": "current_token", "full_name": "", - "start_line": 1222, - "end_line": 1228, + "start_line": 1291, + "end_line": 1297, "start_column": 0, "end_column": 0, "depth": 3, @@ -119186,8 +150840,8 @@ "type": "function", "name": "peek_token", "full_name": "", - "start_line": 1231, - "end_line": 1237, + "start_line": 1300, + "end_line": 1306, "start_column": 0, "end_column": 0, "depth": 3, @@ -119200,8 +150854,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1232, - "end_line": 1236, + "start_line": 1301, + "end_line": 1305, "start_column": 0, "end_column": 0, "depth": 6, @@ -119214,8 +150868,8 @@ "type": "function", "name": "advance", "full_name": "", - "start_line": 1240, - "end_line": 1244, + "start_line": 1309, + "end_line": 1313, "start_column": 0, "end_column": 0, "depth": 3, @@ -119228,8 +150882,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1241, - "end_line": 1243, + "start_line": 1310, + "end_line": 1312, "start_column": 0, "end_column": 0, "depth": 6, @@ -119242,8 +150896,8 @@ "type": "function", "name": "skip_newlines", "full_name": "", - "start_line": 1247, - "end_line": 1255, + "start_line": 1316, + "end_line": 1324, "start_column": 0, "end_column": 0, "depth": 3, @@ -119256,8 +150910,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1248, - "end_line": 1248, + "start_line": 1317, + "end_line": 1317, "start_column": 0, "end_column": 0, "depth": 5, @@ -119270,8 +150924,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 1249, - "end_line": 1252, + "start_line": 1318, + "end_line": 1321, "start_column": 0, "end_column": 0, "depth": 6, @@ -119284,8 +150938,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1253, - "end_line": 1254, + "start_line": 1322, + "end_line": 1323, "start_column": 0, "end_column": 0, "depth": 6, @@ -119298,8 +150952,8 @@ "type": "function", "name": "consume", "full_name": "", - "start_line": 1258, - "end_line": 1273, + "start_line": 1327, + "end_line": 1342, "start_column": 0, "end_column": 0, "depth": 3, @@ -119312,8 +150966,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1260, - "end_line": 1272, + "start_line": 1329, + "end_line": 1341, "start_column": 0, "end_column": 0, "depth": 6, @@ -119326,8 +150980,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1262, - "end_line": 1262, + "start_line": 1331, + "end_line": 1331, "start_column": 0, "end_column": 0, "depth": 8, @@ -119340,8 +150994,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1266, - "end_line": 1266, + "start_line": 1335, + "end_line": 1335, "start_column": 0, "end_column": 0, "depth": 9, @@ -119354,8 +151008,8 @@ "type": "function", "name": "match_token", "full_name": "", - "start_line": 1276, - "end_line": 1279, + "start_line": 1345, + "end_line": 1348, "start_column": 0, "end_column": 0, "depth": 3, @@ -119368,8 +151022,8 @@ "type": "function", "name": "is_at_end", "full_name": "", - "start_line": 1282, - "end_line": 1285, + "start_line": 1351, + "end_line": 1354, "start_column": 0, "end_column": 0, "depth": 3, @@ -119382,193 +151036,11 @@ "type": "function", "name": "extract_dependencies_from_statements", "full_name": "", - "start_line": 1292, - "end_line": 1300, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1293, - "end_line": 1293, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1295, - "end_line": 1297, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "extract_dependencies_from_ast", - "full_name": "", - "start_line": 1303, - "end_line": 1356, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1307, - "end_line": 1309, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1313, - "end_line": 1315, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1330, - "end_line": 1332, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1333, - "end_line": 1337, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1334, - "end_line": 1336, - "start_column": 0, - "end_column": 0, - "depth": 14, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 1341, - "end_line": 1343, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1346, - "end_line": 1348, - "start_column": 0, - "end_column": 0, - "depth": 11, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "check_circular_dependencies", - "full_name": "", - "start_line": 1359, - "end_line": 1373, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 1360, - "end_line": 1360, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", "start_line": 1361, - "end_line": 1361, + "end_line": 1369, "start_column": 0, "end_column": 0, - "depth": 5, + "depth": 3, "scope_path": "", "children": [], "attributes": {}, @@ -119593,7 +151065,7 @@ "name": "", "full_name": "", "start_line": 1364, - "end_line": 1370, + "end_line": 1366, "start_column": 0, "end_column": 0, "depth": 6, @@ -119602,40 +151074,12 @@ "attributes": {}, "source_text": null }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1365, - "end_line": 1369, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1366, - "end_line": 1368, - "start_column": 0, - "end_column": 0, - "depth": 12, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", - "name": "has_cycle_dfs", + "name": "extract_dependencies_from_ast", "full_name": "", - "start_line": 1376, - "end_line": 1409, + "start_line": 1372, + "end_line": 1425, "start_column": 0, "end_column": 0, "depth": 3, @@ -119648,11 +151092,25 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1387, - "end_line": 1404, + "start_line": 1376, + "end_line": 1378, "start_column": 0, "end_column": 0, - "depth": 6, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1382, + "end_line": 1384, + "start_column": 0, + "end_column": 0, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, @@ -119662,11 +151120,11 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 1388, - "end_line": 1403, + "start_line": 1399, + "end_line": 1401, "start_column": 0, "end_column": 0, - "depth": 9, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, @@ -119676,36 +151134,22 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1389, - "end_line": 1402, + "start_line": 1402, + "end_line": 1406, "start_column": 0, "end_column": 0, - "depth": 12, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "if_statement", + "type": "for_loop", "name": "", "full_name": "", - "start_line": 1390, - "end_line": 1392, - "start_column": 0, - "end_column": 0, - "depth": 15, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 1393, - "end_line": 1402, + "start_line": 1403, + "end_line": 1405, "start_column": 0, "end_column": 0, "depth": 14, @@ -119715,42 +151159,28 @@ "source_text": null }, { - "type": "variable", + "type": "for_loop", "name": "", "full_name": "", - "start_line": 1395, - "end_line": 1395, + "start_line": 1410, + "end_line": 1412, "start_column": 0, "end_column": 0, - "depth": 16, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, "source_text": null }, { - "type": "variable", - "name": "Vec", - "full_name": "", - "start_line": 1396, - "end_line": 1396, - "start_column": 0, - "end_column": 0, - "depth": 16, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", + "type": "if_statement", "name": "", "full_name": "", - "start_line": 1397, - "end_line": 1397, + "start_line": 1415, + "end_line": 1417, "start_column": 0, "end_column": 0, - "depth": 16, + "depth": 11, "scope_path": "", "children": [], "attributes": {}, @@ -119758,10 +151188,10 @@ }, { "type": "function", - "name": "validate_override_methods", + "name": "check_circular_dependencies", "full_name": "", - "start_line": 1414, - "end_line": 1459, + "start_line": 1428, + "end_line": 1442, "start_column": 0, "end_column": 0, "depth": 3, @@ -119774,8 +151204,36 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1415, - "end_line": 1415, + "start_line": 1429, + "end_line": 1429, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1430, + "end_line": 1430, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1431, + "end_line": 1431, "start_column": 0, "end_column": 0, "depth": 5, @@ -119788,8 +151246,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 1418, - "end_line": 1450, + "start_line": 1433, + "end_line": 1439, "start_column": 0, "end_column": 0, "depth": 6, @@ -119802,8 +151260,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1419, - "end_line": 1449, + "start_line": 1434, + "end_line": 1438, "start_column": 0, "end_column": 0, "depth": 9, @@ -119816,8 +151274,204 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1420, - "end_line": 1448, + "start_line": 1435, + "end_line": 1437, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "has_cycle_dfs", + "full_name": "", + "start_line": 1445, + "end_line": 1478, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1456, + "end_line": 1473, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1457, + "end_line": 1472, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1458, + "end_line": 1471, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1459, + "end_line": 1461, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1462, + "end_line": 1471, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1464, + "end_line": 1464, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 1465, + "end_line": 1465, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1466, + "end_line": 1466, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "validate_override_methods", + "full_name": "", + "start_line": 1483, + "end_line": 1528, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1484, + "end_line": 1484, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1487, + "end_line": 1519, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1488, + "end_line": 1518, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1489, + "end_line": 1517, "start_column": 0, "end_column": 0, "depth": 12, @@ -119830,8 +151484,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 1427, - "end_line": 1430, + "start_line": 1496, + "end_line": 1499, "start_column": 0, "end_column": 0, "depth": 14, @@ -119844,8 +151498,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1432, - "end_line": 1438, + "start_line": 1501, + "end_line": 1507, "start_column": 0, "end_column": 0, "depth": 15, @@ -119858,8 +151512,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1441, - "end_line": 1447, + "start_line": 1510, + "end_line": 1516, "start_column": 0, "end_column": 0, "depth": 15, @@ -119872,8 +151526,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 1453, - "end_line": 1456, + "start_line": 1522, + "end_line": 1525, "start_column": 0, "end_column": 0, "depth": 6, @@ -119887,36 +151541,36 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 293, - "max_depth": 30, + "total_nodes": 306, + "max_depth": 32, "node_type_counts": { - "file_root": 1, + "for_loop": 39, + "class": 3, + "if_statement": 116, "import": 4, "function": 25, - "variable": 113, - "for_loop": 37, - "if_statement": 110, - "class": 3 + "file_root": 1, + "variable": 118 }, "classes": 3, "functions": 25, "methods": 0, - "variables": 113, - "control_structures": 147 + "variables": 118, + "control_structures": 155 }, - "generated_at": "2025-08-13T11:36:21.768276523Z" + "generated_at": "2025-08-15T16:17:53.942554321Z" }, { "file_info": { "name": "statements.rs", "path": "src/parser/statements.rs", "size_bytes": 0, - "total_lines": 458, - "code_lines": 352, - "comment_lines": 47, - "empty_lines": 59, - "code_ratio": 0.7685589519650655, - "analyzed_at": "2025-08-13T11:36:21.769195447Z", + "total_lines": 489, + "code_lines": 376, + "comment_lines": 50, + "empty_lines": 63, + "code_ratio": 0.7689161554192229, + "analyzed_at": "2025-08-15T16:17:53.943901886Z", "metadata": {} }, "language": "rust", @@ -119925,7 +151579,7 @@ "name": "NyashParser", "parent_class": null, "start_line": 12, - "end_line": 458, + "end_line": 489, "methods": [], "properties": [], "member_variables": [], @@ -119938,7 +151592,7 @@ { "name": "parse_statement", "start_line": 14, - "end_line": 84, + "end_line": 87, "parameters": [ "&mut self" ], @@ -119952,14 +151606,35 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub(super)", - "type": "function" + "type": "function", + "modifiers": "pub(super)" } }, { "name": "parse_if", - "start_line": 87, - "end_line": 135, + "start_line": 90, + "end_line": 138, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "parse_loop", + "start_line": 141, + "end_line": 165, "parameters": [ "&mut self" ], @@ -119977,31 +151652,10 @@ "type": "function" } }, - { - "name": "parse_loop", - "start_line": 138, - "end_line": 162, - "parameters": [ - "&mut self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function", - "modifiers": "pub(super)" - } - }, { "name": "parse_break", - "start_line": 165, - "end_line": 168, + "start_line": 168, + "end_line": 171, "parameters": [ "&mut self" ], @@ -120015,14 +151669,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } }, { "name": "parse_return", - "start_line": 171, - "end_line": 184, + "start_line": 174, + "end_line": 187, "parameters": [ "&mut self" ], @@ -120036,14 +151690,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } }, { "name": "parse_print", - "start_line": 187, - "end_line": 194, + "start_line": 190, + "end_line": 197, "parameters": [ "&mut self" ], @@ -120063,8 +151717,8 @@ }, { "name": "parse_nowait", - "start_line": 197, - "end_line": 222, + "start_line": 200, + "end_line": 225, "parameters": [ "&mut self" ], @@ -120084,8 +151738,8 @@ }, { "name": "parse_include", - "start_line": 225, - "end_line": 242, + "start_line": 228, + "end_line": 245, "parameters": [ "&mut self" ], @@ -120105,8 +151759,8 @@ }, { "name": "parse_local", - "start_line": 245, - "end_line": 303, + "start_line": 248, + "end_line": 306, "parameters": [ "&mut self" ], @@ -120126,8 +151780,8 @@ }, { "name": "parse_outbox", - "start_line": 306, - "end_line": 347, + "start_line": 309, + "end_line": 350, "parameters": [ "&mut self" ], @@ -120147,8 +151801,8 @@ }, { "name": "parse_try_catch", - "start_line": 350, - "end_line": 440, + "start_line": 353, + "end_line": 443, "parameters": [ "&mut self" ], @@ -120168,8 +151822,29 @@ }, { "name": "parse_throw", - "start_line": 443, - "end_line": 447, + "start_line": 446, + "end_line": 450, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "parse_from_call_statement", + "start_line": 453, + "end_line": 460, "parameters": [ "&mut self" ], @@ -120188,9 +151863,9 @@ } }, { - "name": "parse_from_call_statement", - "start_line": 450, - "end_line": 457, + "name": "parse_using", + "start_line": 463, + "end_line": 488, "parameters": [ "&mut self" ], @@ -120204,8 +151879,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub(super)" + "modifiers": "pub(super)", + "type": "function" } } ], @@ -120249,7 +151924,7 @@ "metadata": {}, "stats": { "class_count": 1, - "function_count": 13, + "function_count": 14, "import_count": 3, "export_count": 0, "unique_calls": 0, @@ -120314,7 +151989,7 @@ "name": "NyashParser", "full_name": "", "start_line": 12, - "end_line": 458, + "end_line": 489, "start_column": 0, "end_column": 0, "depth": 1, @@ -120328,7 +152003,7 @@ "name": "parse_statement", "full_name": "", "start_line": 14, - "end_line": 84, + "end_line": 87, "start_column": 0, "end_column": 0, "depth": 3, @@ -120342,7 +152017,7 @@ "name": "", "full_name": "", "start_line": 16, - "end_line": 81, + "end_line": 84, "start_column": 0, "end_column": 0, "depth": 5, @@ -120355,8 +152030,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 78, - "end_line": 78, + "start_line": 81, + "end_line": 81, "start_column": 0, "end_column": 0, "depth": 10, @@ -120369,8 +152044,8 @@ "type": "function", "name": "parse_if", "full_name": "", - "start_line": 87, - "end_line": 135, + "start_line": 90, + "end_line": 138, "start_column": 0, "end_column": 0, "depth": 3, @@ -120383,8 +152058,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 91, - "end_line": 91, + "start_line": 94, + "end_line": 94, "start_column": 0, "end_column": 0, "depth": 5, @@ -120397,8 +152072,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 95, - "end_line": 95, + "start_line": 98, + "end_line": 98, "start_column": 0, "end_column": 0, "depth": 5, @@ -120411,8 +152086,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 96, - "end_line": 101, + "start_line": 99, + "end_line": 104, "start_column": 0, "end_column": 0, "depth": 6, @@ -120425,8 +152100,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 98, - "end_line": 100, + "start_line": 101, + "end_line": 103, "start_column": 0, "end_column": 0, "depth": 9, @@ -120439,8 +152114,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 105, - "end_line": 127, + "start_line": 108, + "end_line": 130, "start_column": 0, "end_column": 0, "depth": 5, @@ -120453,8 +152128,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 105, - "end_line": 127, + "start_line": 108, + "end_line": 130, "start_column": 0, "end_column": 0, "depth": 6, @@ -120467,8 +152142,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 108, - "end_line": 124, + "start_line": 111, + "end_line": 127, "start_column": 0, "end_column": 0, "depth": 9, @@ -120481,8 +152156,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 110, - "end_line": 110, + "start_line": 113, + "end_line": 113, "start_column": 0, "end_column": 0, "depth": 11, @@ -120495,8 +152170,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 115, - "end_line": 115, + "start_line": 118, + "end_line": 118, "start_column": 0, "end_column": 0, "depth": 12, @@ -120509,8 +152184,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 116, - "end_line": 121, + "start_line": 119, + "end_line": 124, "start_column": 0, "end_column": 0, "depth": 13, @@ -120523,8 +152198,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 118, - "end_line": 120, + "start_line": 121, + "end_line": 123, "start_column": 0, "end_column": 0, "depth": 16, @@ -120537,8 +152212,8 @@ "type": "function", "name": "parse_loop", "full_name": "", - "start_line": 138, - "end_line": 162, + "start_line": 141, + "end_line": 165, "start_column": 0, "end_column": 0, "depth": 3, @@ -120551,8 +152226,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 143, - "end_line": 143, + "start_line": 146, + "end_line": 146, "start_column": 0, "end_column": 0, "depth": 5, @@ -120565,8 +152240,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 148, - "end_line": 148, + "start_line": 151, + "end_line": 151, "start_column": 0, "end_column": 0, "depth": 5, @@ -120579,8 +152254,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 149, - "end_line": 154, + "start_line": 152, + "end_line": 157, "start_column": 0, "end_column": 0, "depth": 6, @@ -120593,8 +152268,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 151, - "end_line": 153, + "start_line": 154, + "end_line": 156, "start_column": 0, "end_column": 0, "depth": 9, @@ -120607,8 +152282,8 @@ "type": "function", "name": "parse_break", "full_name": "", - "start_line": 165, - "end_line": 168, + "start_line": 168, + "end_line": 171, "start_column": 0, "end_column": 0, "depth": 3, @@ -120621,8 +152296,8 @@ "type": "function", "name": "parse_return", "full_name": "", - "start_line": 171, - "end_line": 184, + "start_line": 174, + "end_line": 187, "start_column": 0, "end_column": 0, "depth": 3, @@ -120635,8 +152310,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 175, - "end_line": 181, + "start_line": 178, + "end_line": 184, "start_column": 0, "end_column": 0, "depth": 5, @@ -120649,8 +152324,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 175, - "end_line": 181, + "start_line": 178, + "end_line": 184, "start_column": 0, "end_column": 0, "depth": 6, @@ -120663,8 +152338,8 @@ "type": "function", "name": "parse_print", "full_name": "", - "start_line": 187, - "end_line": 194, + "start_line": 190, + "end_line": 197, "start_column": 0, "end_column": 0, "depth": 3, @@ -120677,8 +152352,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 190, - "end_line": 190, + "start_line": 193, + "end_line": 193, "start_column": 0, "end_column": 0, "depth": 5, @@ -120691,8 +152366,8 @@ "type": "function", "name": "parse_nowait", "full_name": "", - "start_line": 197, - "end_line": 222, + "start_line": 200, + "end_line": 225, "start_column": 0, "end_column": 0, "depth": 3, @@ -120705,8 +152380,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 201, - "end_line": 212, + "start_line": 204, + "end_line": 215, "start_column": 0, "end_column": 0, "depth": 5, @@ -120719,8 +152394,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 201, - "end_line": 212, + "start_line": 204, + "end_line": 215, "start_column": 0, "end_column": 0, "depth": 6, @@ -120733,8 +152408,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 202, - "end_line": 202, + "start_line": 205, + "end_line": 205, "start_column": 0, "end_column": 0, "depth": 8, @@ -120747,8 +152422,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 206, - "end_line": 206, + "start_line": 209, + "end_line": 209, "start_column": 0, "end_column": 0, "depth": 9, @@ -120761,8 +152436,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 215, - "end_line": 215, + "start_line": 218, + "end_line": 218, "start_column": 0, "end_column": 0, "depth": 5, @@ -120775,8 +152450,8 @@ "type": "function", "name": "parse_include", "full_name": "", - "start_line": 225, - "end_line": 242, + "start_line": 228, + "end_line": 245, "start_column": 0, "end_column": 0, "depth": 3, @@ -120789,8 +152464,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 228, - "end_line": 239, + "start_line": 231, + "end_line": 242, "start_column": 0, "end_column": 0, "depth": 5, @@ -120803,8 +152478,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 228, - "end_line": 239, + "start_line": 231, + "end_line": 242, "start_column": 0, "end_column": 0, "depth": 6, @@ -120817,8 +152492,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 229, - "end_line": 229, + "start_line": 232, + "end_line": 232, "start_column": 0, "end_column": 0, "depth": 8, @@ -120831,8 +152506,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 233, - "end_line": 233, + "start_line": 236, + "end_line": 236, "start_column": 0, "end_column": 0, "depth": 9, @@ -120845,8 +152520,8 @@ "type": "function", "name": "parse_local", "full_name": "", - "start_line": 245, - "end_line": 303, + "start_line": 248, + "end_line": 306, "start_column": 0, "end_column": 0, "depth": 3, @@ -120859,8 +152534,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 248, - "end_line": 248, + "start_line": 251, + "end_line": 251, "start_column": 0, "end_column": 0, "depth": 5, @@ -120873,8 +152548,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 249, - "end_line": 249, + "start_line": 252, + "end_line": 252, "start_column": 0, "end_column": 0, "depth": 5, @@ -120887,8 +152562,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 252, - "end_line": 302, + "start_line": 255, + "end_line": 305, "start_column": 0, "end_column": 0, "depth": 6, @@ -120901,8 +152576,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 257, - "end_line": 294, + "start_line": 260, + "end_line": 297, "start_column": 0, "end_column": 0, "depth": 9, @@ -120915,8 +152590,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 272, - "end_line": 287, + "start_line": 275, + "end_line": 290, "start_column": 0, "end_column": 0, "depth": 13, @@ -120929,8 +152604,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 275, - "end_line": 286, + "start_line": 278, + "end_line": 289, "start_column": 0, "end_column": 0, "depth": 16, @@ -120943,8 +152618,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 280, - "end_line": 280, + "start_line": 283, + "end_line": 283, "start_column": 0, "end_column": 0, "depth": 19, @@ -120957,8 +152632,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 296, - "end_line": 296, + "start_line": 299, + "end_line": 299, "start_column": 0, "end_column": 0, "depth": 9, @@ -120971,8 +152646,8 @@ "type": "function", "name": "parse_outbox", "full_name": "", - "start_line": 306, - "end_line": 347, + "start_line": 309, + "end_line": 350, "start_column": 0, "end_column": 0, "depth": 3, @@ -120985,8 +152660,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 309, - "end_line": 309, + "start_line": 312, + "end_line": 312, "start_column": 0, "end_column": 0, "depth": 5, @@ -120999,8 +152674,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 312, - "end_line": 346, + "start_line": 315, + "end_line": 349, "start_column": 0, "end_column": 0, "depth": 6, @@ -121013,8 +152688,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 317, - "end_line": 331, + "start_line": 320, + "end_line": 334, "start_column": 0, "end_column": 0, "depth": 9, @@ -121027,8 +152702,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 320, - "end_line": 330, + "start_line": 323, + "end_line": 333, "start_column": 0, "end_column": 0, "depth": 12, @@ -121041,8 +152716,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 324, - "end_line": 324, + "start_line": 327, + "end_line": 327, "start_column": 0, "end_column": 0, "depth": 15, @@ -121055,8 +152730,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 333, - "end_line": 333, + "start_line": 336, + "end_line": 336, "start_column": 0, "end_column": 0, "depth": 8, @@ -121069,8 +152744,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 340, - "end_line": 340, + "start_line": 343, + "end_line": 343, "start_column": 0, "end_column": 0, "depth": 9, @@ -121083,8 +152758,8 @@ "type": "function", "name": "parse_try_catch", "full_name": "", - "start_line": 350, - "end_line": 440, + "start_line": 353, + "end_line": 443, "start_column": 0, "end_column": 0, "depth": 3, @@ -121097,8 +152772,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 354, - "end_line": 354, + "start_line": 357, + "end_line": 357, "start_column": 0, "end_column": 0, "depth": 5, @@ -121111,8 +152786,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 355, - "end_line": 360, + "start_line": 358, + "end_line": 363, "start_column": 0, "end_column": 0, "depth": 6, @@ -121125,8 +152800,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 357, - "end_line": 359, + "start_line": 360, + "end_line": 362, "start_column": 0, "end_column": 0, "depth": 9, @@ -121139,22 +152814,22 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 364, - "end_line": 364, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", "start_line": 367, - "end_line": 413, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 370, + "end_line": 416, "start_column": 0, "end_column": 0, "depth": 6, @@ -121167,8 +152842,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 372, - "end_line": 378, + "start_line": 375, + "end_line": 381, "start_column": 0, "end_column": 0, "depth": 8, @@ -121181,8 +152856,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 372, - "end_line": 378, + "start_line": 375, + "end_line": 381, "start_column": 0, "end_column": 0, "depth": 9, @@ -121195,8 +152870,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 373, - "end_line": 373, + "start_line": 376, + "end_line": 376, "start_column": 0, "end_column": 0, "depth": 11, @@ -121209,8 +152884,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 381, - "end_line": 392, + "start_line": 384, + "end_line": 395, "start_column": 0, "end_column": 0, "depth": 8, @@ -121223,8 +152898,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 381, - "end_line": 392, + "start_line": 384, + "end_line": 395, "start_column": 0, "end_column": 0, "depth": 9, @@ -121237,8 +152912,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 382, - "end_line": 382, + "start_line": 385, + "end_line": 385, "start_column": 0, "end_column": 0, "depth": 11, @@ -121251,8 +152926,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 386, - "end_line": 386, + "start_line": 389, + "end_line": 389, "start_column": 0, "end_column": 0, "depth": 12, @@ -121265,8 +152940,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 397, - "end_line": 397, + "start_line": 400, + "end_line": 400, "start_column": 0, "end_column": 0, "depth": 8, @@ -121279,8 +152954,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 398, - "end_line": 403, + "start_line": 401, + "end_line": 406, "start_column": 0, "end_column": 0, "depth": 9, @@ -121293,8 +152968,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 400, - "end_line": 402, + "start_line": 403, + "end_line": 405, "start_column": 0, "end_column": 0, "depth": 12, @@ -121307,8 +152982,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 416, - "end_line": 432, + "start_line": 419, + "end_line": 435, "start_column": 0, "end_column": 0, "depth": 5, @@ -121321,8 +152996,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 416, - "end_line": 432, + "start_line": 419, + "end_line": 435, "start_column": 0, "end_column": 0, "depth": 6, @@ -121335,8 +153010,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 420, - "end_line": 420, + "start_line": 423, + "end_line": 423, "start_column": 0, "end_column": 0, "depth": 8, @@ -121349,8 +153024,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 421, - "end_line": 426, + "start_line": 424, + "end_line": 429, "start_column": 0, "end_column": 0, "depth": 9, @@ -121363,8 +153038,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 423, - "end_line": 425, + "start_line": 426, + "end_line": 428, "start_column": 0, "end_column": 0, "depth": 12, @@ -121377,8 +153052,8 @@ "type": "function", "name": "parse_throw", "full_name": "", - "start_line": 443, - "end_line": 447, + "start_line": 446, + "end_line": 450, "start_column": 0, "end_column": 0, "depth": 3, @@ -121391,8 +153066,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 445, - "end_line": 445, + "start_line": 448, + "end_line": 448, "start_column": 0, "end_column": 0, "depth": 5, @@ -121405,8 +153080,8 @@ "type": "function", "name": "parse_from_call_statement", "full_name": "", - "start_line": 450, - "end_line": 457, + "start_line": 453, + "end_line": 460, "start_column": 0, "end_column": 0, "depth": 3, @@ -121419,8 +153094,2217 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 452, - "end_line": 452, + "start_line": 455, + "end_line": 455, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_using", + "full_name": "", + "start_line": 463, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 467, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 468, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 472, + "end_line": 477, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 88, + "max_depth": 19, + "node_type_counts": { + "if_statement": 21, + "import": 3, + "function": 14, + "class": 1, + "variable": 39, + "file_root": 1, + "for_loop": 9 + }, + "classes": 1, + "functions": 14, + "methods": 0, + "variables": 39, + "control_structures": 30 + }, + "generated_at": "2025-08-15T16:17:53.943935137Z" + }, + { + "file_info": { + "name": "runner.rs", + "path": "src/runner.rs", + "size_bytes": 0, + "total_lines": 711, + "code_lines": 548, + "comment_lines": 68, + "empty_lines": 95, + "code_ratio": 0.770745428973277, + "analyzed_at": "2025-08-15T16:17:53.938692093Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashRunner", + "parent_class": null, + "start_line": 21, + "end_line": 23, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "NyashRunner", + "parent_class": null, + "start_line": 25, + "end_line": 459, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 27, + "end_line": 29, + "parameters": [ + "config: CliConfig" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "run", + "start_line": 32, + "end_line": 49, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute_file_mode", + "start_line": 52, + "end_line": 76, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_demo_mode", + "start_line": 79, + "end_line": 106, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_nyash_file", + "start_line": 109, + "end_line": 169, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_mir_mode", + "start_line": 172, + "end_line": 227, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_vm_mode", + "start_line": 230, + "end_line": 271, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_wasm_mode", + "start_line": 274, + "end_line": 343, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 315, + "end_line": 321, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_aot_mode", + "start_line": 346, + "end_line": 403, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 385, + "end_line": 391, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_benchmark_mode", + "start_line": 406, + "end_line": 458, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_basic_boxes", + "start_line": 462, + "end_line": 479, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_box_operations", + "start_line": 481, + "end_line": 497, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_box_collections", + "start_line": 499, + "end_line": 505, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_environment_system", + "start_line": 507, + "end_line": 510, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_tokenizer_system", + "start_line": 512, + "end_line": 528, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_parser_system", + "start_line": 530, + "end_line": 632, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_interpreter_system", + "start_line": 634, + "end_line": 686, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_runner_creation", + "start_line": 693, + "end_line": 710, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::cli::CliConfig", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::{\n box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox, AddBox, BoxCore},\n tokenizer::{NyashTokenizer},\n ast::ASTNode,\n parser::NyashParser,\n interpreter::NyashInterpreter,\n mir::{MirCompiler, MirPrinter},\n backend::{VM, wasm::WasmBackend, aot::AotBackend},\n}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::{fs, process}", + "imported_names": [], + "alias": null, + "line_number": 18, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::io::Write", + "imported_names": [], + "alias": null, + "line_number": 148, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 690, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 2, + "function_count": 20, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 18, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashRunner", + "full_name": "", + "start_line": 21, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashRunner", + "full_name": "", + "start_line": 25, + "end_line": 459, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 27, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run", + "full_name": "", + "start_line": 32, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 34, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_file_mode", + "full_name": "", + "start_line": 52, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 56, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_demo_mode", + "full_name": "", + "start_line": 79, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_nyash_file", + "full_name": "", + "start_line": 109, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_mir_mode", + "full_name": "", + "start_line": 172, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 202, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_vm_mode", + "full_name": "", + "start_line": 230, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 250, + "end_line": 250, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_wasm_mode", + "full_name": "", + "start_line": 274, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 276, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 294, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 295, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 304, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 314, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 322, + "end_line": 322, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 325, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_aot_mode", + "full_name": "", + "start_line": 346, + "end_line": 403, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 366, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 376, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 384, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 386, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_benchmark_mode", + "full_name": "", + "start_line": 406, + "end_line": 458, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 410, + "end_line": 416, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 423, + "end_line": 423, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 424, + "end_line": 429, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 425, + "end_line": 428, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 426, + "end_line": 426, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 427, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 430, + "end_line": 430, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 438, + "end_line": 446, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 439, + "end_line": 445, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 440, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 441, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 442, + "end_line": 442, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 443, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 447, + "end_line": 447, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 453, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_basic_boxes", + "full_name": "", + "start_line": 462, + "end_line": 479, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 466, + "end_line": 466, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 467, + "end_line": 467, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 468, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 469, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_box_operations", + "full_name": "", + "start_line": 481, + "end_line": 497, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 485, + "end_line": 485, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 486, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 492, + "end_line": 492, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 493, + "end_line": 493, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 494, + "end_line": 494, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_box_collections", + "full_name": "", + "start_line": 499, + "end_line": 505, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_environment_system", + "full_name": "", + "start_line": 507, + "end_line": 510, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_tokenizer_system", + "full_name": "", + "start_line": 512, + "end_line": 528, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 516, + "end_line": 516, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 520, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_parser_system", + "full_name": "", + "start_line": 530, + "end_line": 632, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 535, + "end_line": 543, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 550, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 552, + "end_line": 554, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 562, + "end_line": 567, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 573, + "end_line": 578, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 575, + "end_line": 577, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 585, + "end_line": 588, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 594, + "end_line": 600, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 595, + "end_line": 599, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 596, + "end_line": 598, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 607, + "end_line": 618, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 624, + "end_line": 628, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 625, + "end_line": 627, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_interpreter_system", + "full_name": "", + "start_line": 634, + "end_line": 686, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 638, + "end_line": 642, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 649, + "end_line": 649, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 663, + "end_line": 667, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 674, + "end_line": 674, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 690, + "end_line": 690, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_runner_creation", + "full_name": "", + "start_line": 693, + "end_line": 710, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 694, + "end_line": 706, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 708, + "end_line": 708, "start_column": 0, "end_column": 0, "depth": 5, @@ -121434,58 +155318,58 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 84, - "max_depth": 19, + "total_nodes": 117, + "max_depth": 16, "node_type_counts": { - "for_loop": 9, - "if_statement": 19, - "import": 3, + "import": 5, + "for_loop": 7, + "function": 18, + "if_statement": 21, "file_root": 1, - "variable": 38, - "function": 13, - "class": 1 + "variable": 63, + "class": 2 }, - "classes": 1, - "functions": 13, + "classes": 2, + "functions": 18, "methods": 0, - "variables": 38, + "variables": 63, "control_structures": 28 }, - "generated_at": "2025-08-13T11:36:21.769226382Z" + "generated_at": "2025-08-15T16:17:53.938732732Z" }, { "file_info": { - "name": "tokenizer.rs", - "path": "src/tokenizer.rs", + "name": "mod.rs", + "path": "src/stdlib/mod.rs", "size_bytes": 0, - "total_lines": 623, - "code_lines": 518, - "comment_lines": 40, - "empty_lines": 65, - "code_ratio": 0.8314606741573034, - "analyzed_at": "2025-08-13T11:36:21.766373457Z", + "total_lines": 225, + "code_lines": 152, + "comment_lines": 35, + "empty_lines": 38, + "code_ratio": 0.6755555555555556, + "analyzed_at": "2025-08-15T16:17:53.942690089Z", "metadata": {} }, "language": "rust", "classes": [ { - "name": "TokenType", + "name": "BuiltinStdlib", "parent_class": null, - "start_line": 12, - "end_line": 83, + "start_line": 14, + "end_line": 16, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "enum", + "type": "struct", "modifiers": "pub" } }, { - "name": "Token", + "name": "BuiltinNamespace", "parent_class": null, - "start_line": 87, - "end_line": 91, + "start_line": 19, + "end_line": 22, "methods": [], "properties": [], "member_variables": [], @@ -121495,48 +155379,23 @@ } }, { - "name": "Token", + "name": "BuiltinStaticBox", "parent_class": null, - "start_line": 93, - "end_line": 97, + "start_line": 25, + "end_line": 28, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl" - } - }, - { - "name": "TokenizeError", - "parent_class": null, - "start_line": 101, - "end_line": 113, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "type": "enum", + "type": "struct", "modifiers": "pub" } }, { - "name": "NyashTokenizer", + "name": "BuiltinStdlib", "parent_class": null, - "start_line": 116, - "end_line": 121, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "modifiers": "pub", - "type": "struct" - } - }, - { - "name": "NyashTokenizer", - "parent_class": null, - "start_line": 123, - "end_line": 467, + "start_line": 33, + "end_line": 225, "methods": [], "properties": [], "member_variables": [], @@ -121548,8 +155407,982 @@ "functions": [ { "name": "new", - "start_line": 94, - "end_line": 96, + "start_line": 35, + "end_line": 44, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "register_nyashstd", + "start_line": 47, + "end_line": 69, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "create_string_box", + "start_line": 72, + "end_line": 117, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 79, + "end_line": 95, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 98, + "end_line": 114, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "create_integer_box", + "start_line": 120, + "end_line": 146, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 127, + "end_line": 143, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "create_bool_box", + "start_line": 149, + "end_line": 175, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 156, + "end_line": 172, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "create_array_box", + "start_line": 178, + "end_line": 197, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 185, + "end_line": 194, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "create_console_box", + "start_line": 200, + "end_line": 224, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 207, + "end_line": 221, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{ArrayBox, ConsoleBox}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::interpreter::RuntimeError", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::VoidBox", + "imported_names": [], + "alias": null, + "line_number": 219, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 13, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BuiltinStdlib", + "full_name": "", + "start_line": 14, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BuiltinNamespace", + "full_name": "", + "start_line": 19, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BuiltinStaticBox", + "full_name": "", + "start_line": 25, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BuiltinStdlib", + "full_name": "", + "start_line": 33, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 35, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_nyashstd", + "full_name": "", + "start_line": 47, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_string_box", + "full_name": "", + "start_line": 72, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_integer_box", + "full_name": "", + "start_line": 120, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_bool_box", + "full_name": "", + "start_line": 149, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 157, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_array_box", + "full_name": "", + "start_line": 178, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_console_box", + "full_name": "", + "start_line": 200, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 40, + "max_depth": 13, + "node_type_counts": { + "file_root": 1, + "variable": 13, + "function": 7, + "class": 4, + "import": 5, + "if_statement": 10 + }, + "classes": 4, + "functions": 7, + "methods": 0, + "variables": 13, + "control_structures": 10 + }, + "generated_at": "2025-08-15T16:17:53.942703843Z" + }, + { + "file_info": { + "name": "tokenizer.rs", + "path": "src/tokenizer.rs", + "size_bytes": 0, + "total_lines": 634, + "code_lines": 529, + "comment_lines": 40, + "empty_lines": 65, + "code_ratio": 0.8343848580441641, + "analyzed_at": "2025-08-15T16:17:53.938692619Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "TokenType", + "parent_class": null, + "start_line": 12, + "end_line": 87, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "Token", + "parent_class": null, + "start_line": 91, + "end_line": 95, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "Token", + "parent_class": null, + "start_line": 97, + "end_line": 101, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "TokenizeError", + "parent_class": null, + "start_line": 105, + "end_line": 117, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "NyashTokenizer", + "parent_class": null, + "start_line": 120, + "end_line": 125, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "NyashTokenizer", + "parent_class": null, + "start_line": 127, + "end_line": 478, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 98, + "end_line": 100, "parameters": [ "token_type: TokenType", "line: usize", @@ -121571,8 +156404,8 @@ }, { "name": "new", - "start_line": 125, - "end_line": 133, + "start_line": 129, + "end_line": 137, "parameters": [ "input" ], @@ -121592,8 +156425,8 @@ }, { "name": "tokenize", - "start_line": 136, - "end_line": 156, + "start_line": 140, + "end_line": 160, "parameters": [ "&mut self" ], @@ -121607,14 +156440,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "tokenize_next", - "start_line": 159, - "end_line": 292, + "start_line": 163, + "end_line": 300, "parameters": [ "&mut self" ], @@ -121633,8 +156466,8 @@ }, { "name": "read_string", - "start_line": 295, - "end_line": 330, + "start_line": 303, + "end_line": 338, "parameters": [ "&mut self" ], @@ -121653,8 +156486,8 @@ }, { "name": "read_numeric_literal", - "start_line": 333, - "end_line": 364, + "start_line": 341, + "end_line": 372, "parameters": [ "&mut self" ], @@ -121673,8 +156506,8 @@ }, { "name": "closure", - "start_line": 343, - "end_line": 343, + "start_line": 351, + "end_line": 351, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -121691,8 +156524,8 @@ }, { "name": "closure", - "start_line": 357, - "end_line": 357, + "start_line": 365, + "end_line": 365, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -121709,8 +156542,8 @@ }, { "name": "closure", - "start_line": 362, - "end_line": 362, + "start_line": 370, + "end_line": 370, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -121727,8 +156560,8 @@ }, { "name": "read_keyword_or_identifier", - "start_line": 367, - "end_line": 417, + "start_line": 375, + "end_line": 428, "parameters": [ "&mut self" ], @@ -121747,27 +156580,7 @@ }, { "name": "skip_line_comment", - "start_line": 420, - "end_line": 427, - "parameters": [ - "&mut self" - ], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "skip_whitespace", - "start_line": 430, + "start_line": 431, "end_line": 438, "parameters": [ "&mut self" @@ -121786,9 +156599,29 @@ } }, { - "name": "current_char", + "name": "skip_whitespace", "start_line": 441, - "end_line": 443, + "end_line": 449, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "current_char", + "start_line": 452, + "end_line": 454, "parameters": [ "&self" ], @@ -121807,8 +156640,8 @@ }, { "name": "peek_char", - "start_line": 446, - "end_line": 448, + "start_line": 457, + "end_line": 459, "parameters": [ "&self" ], @@ -121827,8 +156660,8 @@ }, { "name": "advance", - "start_line": 451, - "end_line": 461, + "start_line": 462, + "end_line": 472, "parameters": [ "&mut self" ], @@ -121847,8 +156680,8 @@ }, { "name": "is_at_end", - "start_line": 464, - "end_line": 466, + "start_line": 475, + "end_line": 477, "parameters": [ "&self" ], @@ -121867,8 +156700,8 @@ }, { "name": "test_simple_tokens", - "start_line": 476, - "end_line": 488, + "start_line": 487, + "end_line": 499, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -121885,8 +156718,8 @@ }, { "name": "test_string_literal", - "start_line": 491, - "end_line": 500, + "start_line": 502, + "end_line": 511, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -121903,8 +156736,8 @@ }, { "name": "test_number_literal", - "start_line": 503, - "end_line": 520, + "start_line": 514, + "end_line": 531, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -121921,8 +156754,8 @@ }, { "name": "test_identifier", - "start_line": 523, - "end_line": 540, + "start_line": 534, + "end_line": 551, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -121939,8 +156772,8 @@ }, { "name": "test_operators", - "start_line": 543, - "end_line": 554, + "start_line": 554, + "end_line": 565, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -121957,43 +156790,7 @@ }, { "name": "test_complex_code", - "start_line": 557, - "end_line": 581, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "function" - } - }, - { - "name": "closure", - "start_line": 575, - "end_line": 575, - "parameters": [], - "is_async": false, - "is_arrow_function": false, - "complexity": { - "cyclomatic_complexity": 1, - "max_nesting_depth": 0, - "cognitive_complexity": 0, - "rating": "simple", - "rating_emoji": "🟢" - }, - "metadata": { - "type": "closure" - } - }, - { - "name": "test_line_numbers", - "start_line": 584, + "start_line": 568, "end_line": 592, "parameters": [], "is_async": false, @@ -122010,9 +156807,45 @@ } }, { - "name": "test_comments", + "name": "closure", + "start_line": 586, + "end_line": 586, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_line_numbers", "start_line": 595, - "end_line": 606, + "end_line": 603, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_comments", + "start_line": 606, + "end_line": 617, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -122029,8 +156862,8 @@ }, { "name": "closure", - "start_line": 604, - "end_line": 604, + "start_line": 615, + "end_line": 615, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -122047,8 +156880,8 @@ }, { "name": "test_error_handling", - "start_line": 609, - "end_line": 622, + "start_line": 620, + "end_line": 633, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -122078,7 +156911,7 @@ "module_path": "super::*", "imported_names": [], "alias": null, - "line_number": 473, + "line_number": 484, "metadata": {} } ], @@ -122133,7 +156966,7 @@ "name": "TokenType", "full_name": "", "start_line": 12, - "end_line": 83, + "end_line": 87, "start_column": 0, "end_column": 0, "depth": 1, @@ -122146,8 +156979,8 @@ "type": "class", "name": "Token", "full_name": "", - "start_line": 87, - "end_line": 91, + "start_line": 91, + "end_line": 95, "start_column": 0, "end_column": 0, "depth": 1, @@ -122160,8 +156993,8 @@ "type": "class", "name": "Token", "full_name": "", - "start_line": 93, - "end_line": 97, + "start_line": 97, + "end_line": 101, "start_column": 0, "end_column": 0, "depth": 1, @@ -122174,8 +157007,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 94, - "end_line": 96, + "start_line": 98, + "end_line": 100, "start_column": 0, "end_column": 0, "depth": 3, @@ -122188,8 +157021,8 @@ "type": "class", "name": "TokenizeError", "full_name": "", - "start_line": 101, - "end_line": 113, + "start_line": 105, + "end_line": 117, "start_column": 0, "end_column": 0, "depth": 1, @@ -122202,8 +157035,8 @@ "type": "class", "name": "NyashTokenizer", "full_name": "", - "start_line": 116, - "end_line": 121, + "start_line": 120, + "end_line": 125, "start_column": 0, "end_column": 0, "depth": 1, @@ -122216,8 +157049,8 @@ "type": "class", "name": "NyashTokenizer", "full_name": "", - "start_line": 123, - "end_line": 467, + "start_line": 127, + "end_line": 478, "start_column": 0, "end_column": 0, "depth": 1, @@ -122230,8 +157063,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 125, - "end_line": 133, + "start_line": 129, + "end_line": 137, "start_column": 0, "end_column": 0, "depth": 3, @@ -122244,8 +157077,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 126, - "end_line": 126, + "start_line": 130, + "end_line": 130, "start_column": 0, "end_column": 0, "depth": 5, @@ -122258,8 +157091,8 @@ "type": "function", "name": "tokenize", "full_name": "", - "start_line": 136, - "end_line": 156, + "start_line": 140, + "end_line": 160, "start_column": 0, "end_column": 0, "depth": 3, @@ -122272,8 +157105,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 137, - "end_line": 137, + "start_line": 141, + "end_line": 141, "start_column": 0, "end_column": 0, "depth": 5, @@ -122286,8 +157119,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 139, - "end_line": 150, + "start_line": 143, + "end_line": 154, "start_column": 0, "end_column": 0, "depth": 6, @@ -122300,8 +157133,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 143, - "end_line": 145, + "start_line": 147, + "end_line": 149, "start_column": 0, "end_column": 0, "depth": 9, @@ -122314,8 +157147,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 148, - "end_line": 148, + "start_line": 152, + "end_line": 152, "start_column": 0, "end_column": 0, "depth": 8, @@ -122328,8 +157161,8 @@ "type": "function", "name": "tokenize_next", "full_name": "", - "start_line": 159, - "end_line": 292, + "start_line": 163, + "end_line": 300, "start_column": 0, "end_column": 0, "depth": 3, @@ -122342,22 +157175,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 160, - "end_line": 160, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 161, - "end_line": 161, + "start_line": 164, + "end_line": 164, "start_column": 0, "end_column": 0, "depth": 5, @@ -122374,7 +157193,7 @@ "end_line": 165, "start_column": 0, "end_column": 0, - "depth": 10, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -122408,12 +157227,26 @@ "attributes": {}, "source_text": null }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 177, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "function", "name": "read_string", "full_name": "", - "start_line": 295, - "end_line": 330, + "start_line": 303, + "end_line": 338, "start_column": 0, "end_column": 0, "depth": 3, @@ -122426,8 +157259,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 296, - "end_line": 296, + "start_line": 304, + "end_line": 304, "start_column": 0, "end_column": 0, "depth": 5, @@ -122440,8 +157273,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 299, - "end_line": 299, + "start_line": 307, + "end_line": 307, "start_column": 0, "end_column": 0, "depth": 5, @@ -122454,8 +157287,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 301, - "end_line": 327, + "start_line": 309, + "end_line": 335, "start_column": 0, "end_column": 0, "depth": 6, @@ -122468,8 +157301,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 302, - "end_line": 305, + "start_line": 310, + "end_line": 313, "start_column": 0, "end_column": 0, "depth": 9, @@ -122482,8 +157315,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 308, - "end_line": 324, + "start_line": 316, + "end_line": 332, "start_column": 0, "end_column": 0, "depth": 9, @@ -122496,8 +157329,8 @@ "type": "function", "name": "read_numeric_literal", "full_name": "", - "start_line": 333, - "end_line": 364, + "start_line": 341, + "end_line": 372, "start_column": 0, "end_column": 0, "depth": 3, @@ -122510,8 +157343,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 334, - "end_line": 334, + "start_line": 342, + "end_line": 342, "start_column": 0, "end_column": 0, "depth": 5, @@ -122524,8 +157357,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 335, - "end_line": 335, + "start_line": 343, + "end_line": 343, "start_column": 0, "end_column": 0, "depth": 5, @@ -122538,8 +157371,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 336, - "end_line": 336, + "start_line": 344, + "end_line": 344, "start_column": 0, "end_column": 0, "depth": 5, @@ -122552,8 +157385,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 339, - "end_line": 351, + "start_line": 347, + "end_line": 359, "start_column": 0, "end_column": 0, "depth": 6, @@ -122566,8 +157399,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 340, - "end_line": 350, + "start_line": 348, + "end_line": 358, "start_column": 0, "end_column": 0, "depth": 9, @@ -122580,8 +157413,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 343, - "end_line": 350, + "start_line": 351, + "end_line": 358, "start_column": 0, "end_column": 0, "depth": 11, @@ -122594,8 +157427,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 353, - "end_line": 363, + "start_line": 361, + "end_line": 371, "start_column": 0, "end_column": 0, "depth": 6, @@ -122608,8 +157441,8 @@ "type": "function", "name": "read_keyword_or_identifier", "full_name": "", - "start_line": 367, - "end_line": 417, + "start_line": 375, + "end_line": 428, "start_column": 0, "end_column": 0, "depth": 3, @@ -122622,8 +157455,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 368, - "end_line": 368, + "start_line": 376, + "end_line": 376, "start_column": 0, "end_column": 0, "depth": 5, @@ -122636,8 +157469,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 370, - "end_line": 377, + "start_line": 378, + "end_line": 385, "start_column": 0, "end_column": 0, "depth": 6, @@ -122650,8 +157483,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 371, - "end_line": 376, + "start_line": 379, + "end_line": 384, "start_column": 0, "end_column": 0, "depth": 9, @@ -122664,49 +157497,7 @@ "type": "function", "name": "skip_line_comment", "full_name": "", - "start_line": 420, - "end_line": 427, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "for_loop", - "name": "", - "full_name": "", - "start_line": 421, - "end_line": 426, - "start_column": 0, - "end_column": 0, - "depth": 6, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", - "name": "", - "full_name": "", - "start_line": 422, - "end_line": 424, - "start_column": 0, - "end_column": 0, - "depth": 9, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "skip_whitespace", - "full_name": "", - "start_line": 430, + "start_line": 431, "end_line": 438, "start_column": 0, "end_column": 0, @@ -122720,7 +157511,7 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 431, + "start_line": 432, "end_line": 437, "start_column": 0, "end_column": 0, @@ -122734,8 +157525,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 432, - "end_line": 436, + "start_line": 433, + "end_line": 435, "start_column": 0, "end_column": 0, "depth": 9, @@ -122746,10 +157537,10 @@ }, { "type": "function", - "name": "current_char", + "name": "skip_whitespace", "full_name": "", "start_line": 441, - "end_line": 443, + "end_line": 449, "start_column": 0, "end_column": 0, "depth": 3, @@ -122759,39 +157550,11 @@ "source_text": null }, { - "type": "function", - "name": "peek_char", - "full_name": "", - "start_line": 446, - "end_line": 448, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "advance", - "full_name": "", - "start_line": 451, - "end_line": 461, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "if_statement", + "type": "for_loop", "name": "", "full_name": "", - "start_line": 452, - "end_line": 460, + "start_line": 442, + "end_line": 448, "start_column": 0, "end_column": 0, "depth": 6, @@ -122804,8 +157567,78 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 453, - "end_line": 458, + "start_line": 443, + "end_line": 447, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "current_char", + "full_name": "", + "start_line": 452, + "end_line": 454, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "peek_char", + "full_name": "", + "start_line": 457, + "end_line": 459, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "advance", + "full_name": "", + "start_line": 462, + "end_line": 472, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 463, + "end_line": 471, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 464, + "end_line": 469, "start_column": 0, "end_column": 0, "depth": 9, @@ -122818,8 +157651,8 @@ "type": "function", "name": "is_at_end", "full_name": "", - "start_line": 464, - "end_line": 466, + "start_line": 475, + "end_line": 477, "start_column": 0, "end_column": 0, "depth": 3, @@ -122832,8 +157665,8 @@ "type": "import", "name": "", "full_name": "", - "start_line": 473, - "end_line": 473, + "start_line": 484, + "end_line": 484, "start_column": 0, "end_column": 0, "depth": 3, @@ -122846,8 +157679,8 @@ "type": "function", "name": "test_simple_tokens", "full_name": "", - "start_line": 476, - "end_line": 488, + "start_line": 487, + "end_line": 499, "start_column": 0, "end_column": 0, "depth": 3, @@ -122860,8 +157693,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 477, - "end_line": 477, + "start_line": 488, + "end_line": 488, "start_column": 0, "end_column": 0, "depth": 5, @@ -122874,8 +157707,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 478, - "end_line": 478, + "start_line": 489, + "end_line": 489, "start_column": 0, "end_column": 0, "depth": 5, @@ -122888,8 +157721,8 @@ "type": "function", "name": "test_string_literal", "full_name": "", - "start_line": 491, - "end_line": 500, + "start_line": 502, + "end_line": 511, "start_column": 0, "end_column": 0, "depth": 3, @@ -122902,39 +157735,11 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 492, - "end_line": 492, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 493, - "end_line": 493, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "test_number_literal", - "full_name": "", "start_line": 503, - "end_line": 520, + "end_line": 503, "start_column": 0, "end_column": 0, - "depth": 3, + "depth": 5, "scope_path": "", "children": [], "attributes": {}, @@ -122954,12 +157759,40 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "test_number_literal", + "full_name": "", + "start_line": 514, + "end_line": 531, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "variable", "name": "", "full_name": "", - "start_line": 505, - "end_line": 505, + "start_line": 515, + "end_line": 515, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 516, + "end_line": 516, "start_column": 0, "end_column": 0, "depth": 5, @@ -122972,8 +157805,8 @@ "type": "function", "name": "test_identifier", "full_name": "", - "start_line": 523, - "end_line": 540, + "start_line": 534, + "end_line": 551, "start_column": 0, "end_column": 0, "depth": 3, @@ -122986,8 +157819,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 524, - "end_line": 524, + "start_line": 535, + "end_line": 535, "start_column": 0, "end_column": 0, "depth": 5, @@ -123000,8 +157833,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 525, - "end_line": 525, + "start_line": 536, + "end_line": 536, "start_column": 0, "end_column": 0, "depth": 5, @@ -123014,8 +157847,8 @@ "type": "function", "name": "test_operators", "full_name": "", - "start_line": 543, - "end_line": 554, + "start_line": 554, + "end_line": 565, "start_column": 0, "end_column": 0, "depth": 3, @@ -123028,8 +157861,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 544, - "end_line": 544, + "start_line": 555, + "end_line": 555, "start_column": 0, "end_column": 0, "depth": 5, @@ -123042,8 +157875,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 545, - "end_line": 545, + "start_line": 556, + "end_line": 556, "start_column": 0, "end_column": 0, "depth": 5, @@ -123056,77 +157889,7 @@ "type": "function", "name": "test_complex_code", "full_name": "", - "start_line": 557, - "end_line": 581, - "start_column": 0, - "end_column": 0, - "depth": 3, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 558, - "end_line": 569, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 571, - "end_line": 571, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 572, - "end_line": 572, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "Vec<_>", - "full_name": "", - "start_line": 575, - "end_line": 575, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "function", - "name": "test_line_numbers", - "full_name": "", - "start_line": 584, + "start_line": 568, "end_line": 592, "start_column": 0, "end_column": 0, @@ -123140,8 +157903,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 585, - "end_line": 585, + "start_line": 569, + "end_line": 580, "start_column": 0, "end_column": 0, "depth": 5, @@ -123154,6 +157917,34 @@ "type": "variable", "name": "", "full_name": "", + "start_line": 582, + "end_line": 582, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 583, + "end_line": 583, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<_>", + "full_name": "", "start_line": 586, "end_line": 586, "start_column": 0, @@ -123164,26 +157955,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 587, - "end_line": 587, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", - "name": "test_comments", + "name": "test_line_numbers", "full_name": "", "start_line": 595, - "end_line": 606, + "end_line": 603, "start_column": 0, "end_column": 0, "depth": 3, @@ -123197,6 +157974,34 @@ "name": "", "full_name": "", "start_line": 596, + "end_line": 596, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 597, + "end_line": 597, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 598, "end_line": 598, "start_column": 0, "end_column": 0, @@ -123206,54 +158011,12 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 600, - "end_line": 600, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 601, - "end_line": 601, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, - { - "type": "variable", - "name": "Vec<_>", - "full_name": "", - "start_line": 604, - "end_line": 604, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "function", - "name": "test_error_handling", + "name": "test_comments", "full_name": "", - "start_line": 609, - "end_line": 622, + "start_line": 606, + "end_line": 617, "start_column": 0, "end_column": 0, "depth": 3, @@ -123266,8 +158029,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 610, - "end_line": 610, + "start_line": 607, + "end_line": 609, "start_column": 0, "end_column": 0, "depth": 5, @@ -123289,6 +158052,76 @@ "children": [], "attributes": {}, "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 612, + "end_line": 612, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<_>", + "full_name": "", + "start_line": 615, + "end_line": 615, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_error_handling", + "full_name": "", + "start_line": 620, + "end_line": 633, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 621, + "end_line": 621, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 622, + "end_line": 622, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null } ], "attributes": {}, @@ -123298,13 +158131,13 @@ "total_nodes": 85, "max_depth": 11, "node_type_counts": { - "function": 22, "import": 2, - "class": 6, - "variable": 37, - "if_statement": 11, "for_loop": 6, - "file_root": 1 + "if_statement": 11, + "class": 6, + "file_root": 1, + "function": 22, + "variable": 37 }, "classes": 6, "functions": 22, @@ -123312,7 +158145,7 @@ "variables": 37, "control_structures": 17 }, - "generated_at": "2025-08-13T11:36:21.766410216Z" + "generated_at": "2025-08-15T16:17:53.938727203Z" }, { "file_info": { @@ -123324,7 +158157,7 @@ "comment_lines": 19, "empty_lines": 13, "code_ratio": 0.6893203883495146, - "analyzed_at": "2025-08-13T11:36:21.768251358Z", + "analyzed_at": "2025-08-15T16:17:53.977904553Z", "metadata": {} }, "language": "rust", @@ -123376,8 +158209,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "Drop" + "implementing_trait": "Drop", + "type": "impl" } } ], @@ -123399,8 +158232,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -123976,12 +158809,12 @@ "total_nodes": 26, "max_depth": 13, "node_type_counts": { - "import": 4, "file_root": 1, + "variable": 8, + "if_statement": 1, "function": 8, "class": 4, - "variable": 8, - "if_statement": 1 + "import": 4 }, "classes": 4, "functions": 8, @@ -123989,7 +158822,7 @@ "variables": 8, "control_structures": 1 }, - "generated_at": "2025-08-13T11:36:21.768259679Z" + "generated_at": "2025-08-15T16:17:53.977911758Z" }, { "file_info": { @@ -124001,7 +158834,7 @@ "comment_lines": 14, "empty_lines": 11, "code_ratio": 0.5454545454545454, - "analyzed_at": "2025-08-13T11:36:21.768534208Z", + "analyzed_at": "2025-08-15T16:17:53.942866248Z", "metadata": {} }, "language": "rust", @@ -124015,8 +158848,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "struct" + "type": "struct", + "modifiers": "pub" } }, { @@ -124041,8 +158874,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "enum", - "modifiers": "pub" + "modifiers": "pub", + "type": "enum" } }, { @@ -124054,8 +158887,8 @@ "properties": [], "member_variables": [], "metadata": { - "modifiers": "pub", - "type": "trait" + "type": "trait", + "modifiers": "pub" } } ], @@ -124234,19 +159067,19 @@ "variables": 0, "control_structures": 0 }, - "generated_at": "2025-08-13T11:36:21.768537662Z" + "generated_at": "2025-08-15T16:17:53.942870066Z" }, { "file_info": { "name": "type_box.rs", "path": "src/type_box.rs", "size_bytes": 0, - "total_lines": 443, - "code_lines": 304, - "comment_lines": 60, - "empty_lines": 79, - "code_ratio": 0.6862302483069977, - "analyzed_at": "2025-08-13T11:36:21.767053973Z", + "total_lines": 446, + "code_lines": 307, + "comment_lines": 61, + "empty_lines": 78, + "code_ratio": 0.6883408071748879, + "analyzed_at": "2025-08-15T16:17:53.975523824Z", "metadata": {} }, "language": "rust", @@ -124260,8 +159093,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "struct", - "modifiers": "pub" + "modifiers": "pub", + "type": "struct" } }, { @@ -124305,33 +159138,33 @@ "name": "TypeBox", "parent_class": null, "start_line": 236, - "end_line": 258, + "end_line": 261, "methods": [], "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "NyashBox" - } - }, - { - "name": "TypeBox", - "parent_class": null, - "start_line": 260, - "end_line": 280, - "methods": [], - "properties": [], - "member_variables": [], - "metadata": { - "implementing_trait": "BoxCore", + "implementing_trait": "NyashBox", "type": "impl" } }, { "name": "TypeBox", "parent_class": null, - "start_line": 282, - "end_line": 286, + "start_line": 263, + "end_line": 283, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "TypeBox", + "parent_class": null, + "start_line": 285, + "end_line": 289, "methods": [], "properties": [], "member_variables": [], @@ -124343,8 +159176,8 @@ { "name": "TypeRegistry", "parent_class": null, - "start_line": 290, - "end_line": 300, + "start_line": 293, + "end_line": 303, "methods": [], "properties": [], "member_variables": [], @@ -124356,8 +159189,8 @@ { "name": "TypeRegistry", "parent_class": null, - "start_line": 302, - "end_line": 400, + "start_line": 305, + "end_line": 403, "methods": [], "properties": [], "member_variables": [], @@ -124368,8 +159201,8 @@ { "name": "TypeBoxBuilder", "parent_class": null, - "start_line": 403, - "end_line": 405, + "start_line": 406, + "end_line": 408, "methods": [], "properties": [], "member_variables": [], @@ -124381,8 +159214,8 @@ { "name": "TypeBoxBuilder", "parent_class": null, - "start_line": 407, - "end_line": 443, + "start_line": 410, + "end_line": 446, "methods": [], "properties": [], "member_variables": [], @@ -124434,8 +159267,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -124455,8 +159288,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -124476,8 +159309,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -124565,8 +159398,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -124610,8 +159443,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -124675,8 +159508,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -124790,8 +159623,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -124809,8 +159642,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -124828,8 +159661,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -124885,8 +159718,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -124970,10 +159803,30 @@ "type": "function" } }, + { + "name": "share_box", + "start_line": 258, + "end_line": 260, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, { "name": "box_id", - "start_line": 261, - "end_line": 263, + "start_line": 264, + "end_line": 266, "parameters": [ "&self" ], @@ -124992,8 +159845,8 @@ }, { "name": "parent_type_id", - "start_line": 265, - "end_line": 267, + "start_line": 268, + "end_line": 270, "parameters": [ "&self" ], @@ -125012,8 +159865,8 @@ }, { "name": "fmt_box", - "start_line": 269, - "end_line": 271, + "start_line": 272, + "end_line": 274, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -125033,8 +159886,8 @@ }, { "name": "as_any", - "start_line": 273, - "end_line": 275, + "start_line": 276, + "end_line": 278, "parameters": [ "&self" ], @@ -125053,8 +159906,8 @@ }, { "name": "as_any_mut", - "start_line": 277, - "end_line": 279, + "start_line": 280, + "end_line": 282, "parameters": [ "&mut self" ], @@ -125073,8 +159926,8 @@ }, { "name": "fmt", - "start_line": 283, - "end_line": 285, + "start_line": 286, + "end_line": 288, "parameters": [ "&self", "f: &mut std::fmt::Formatter<'_>" @@ -125094,8 +159947,8 @@ }, { "name": "new", - "start_line": 304, - "end_line": 314, + "start_line": 307, + "end_line": 317, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -125113,8 +159966,8 @@ }, { "name": "register_builtin_types", - "start_line": 317, - "end_line": 324, + "start_line": 320, + "end_line": 327, "parameters": [ "&mut self" ], @@ -125133,8 +159986,8 @@ }, { "name": "register_type", - "start_line": 327, - "end_line": 340, + "start_line": 330, + "end_line": 343, "parameters": [ "&mut self", "type_box" @@ -125155,8 +160008,8 @@ }, { "name": "get_type", - "start_line": 343, - "end_line": 345, + "start_line": 346, + "end_line": 348, "parameters": [ "&self", "name: &str" @@ -125177,8 +160030,8 @@ }, { "name": "is_compatible", - "start_line": 348, - "end_line": 358, + "start_line": 351, + "end_line": 361, "parameters": [ "&self", "from_type: &str", @@ -125200,8 +160053,8 @@ }, { "name": "get_all_type_names", - "start_line": 361, - "end_line": 363, + "start_line": 364, + "end_line": 366, "parameters": [ "&self" ], @@ -125215,14 +160068,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "instantiate_generic", - "start_line": 366, - "end_line": 399, + "start_line": 369, + "end_line": 402, "parameters": [ "&mut self", "base_type: &str", @@ -125238,14 +160091,14 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { "name": "closure", - "start_line": 368, - "end_line": 368, + "start_line": 371, + "end_line": 371, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -125262,8 +160115,8 @@ }, { "name": "closure", - "start_line": 389, - "end_line": 389, + "start_line": 392, + "end_line": 392, "parameters": [], "is_async": false, "is_arrow_function": false, @@ -125280,8 +160133,8 @@ }, { "name": "new", - "start_line": 409, - "end_line": 413, + "start_line": 412, + "end_line": 416, "parameters": [ "name: &str" ], @@ -125301,8 +160154,8 @@ }, { "name": "field", - "start_line": 416, - "end_line": 419, + "start_line": 419, + "end_line": 422, "parameters": [ "mut self", "name: &str", @@ -125324,8 +160177,8 @@ }, { "name": "method", - "start_line": 422, - "end_line": 425, + "start_line": 425, + "end_line": 428, "parameters": [ "mut self", "method: MethodSignature" @@ -125340,14 +160193,14 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { "name": "parent", - "start_line": 428, - "end_line": 431, + "start_line": 431, + "end_line": 434, "parameters": [ "mut self", "parent" @@ -125368,8 +160221,8 @@ }, { "name": "type_param", - "start_line": 434, - "end_line": 437, + "start_line": 437, + "end_line": 440, "parameters": [ "mut self", "param: &str" @@ -125390,8 +160243,8 @@ }, { "name": "build", - "start_line": 440, - "end_line": 442, + "start_line": 443, + "end_line": 445, "parameters": [ "self" ], @@ -125405,8 +160258,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } } ], @@ -125466,7 +160319,7 @@ "metadata": {}, "stats": { "class_count": 11, - "function_count": 49, + "function_count": 50, "import_count": 5, "export_count": 0, "unique_calls": 0, @@ -126091,7 +160944,7 @@ "name": "TypeBox", "full_name": "", "start_line": 236, - "end_line": 258, + "end_line": 261, "start_column": 0, "end_column": 0, "depth": 1, @@ -126170,12 +161023,26 @@ "attributes": {}, "source_text": null }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 258, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, { "type": "class", "name": "TypeBox", "full_name": "", - "start_line": 260, - "end_line": 280, + "start_line": 263, + "end_line": 283, "start_column": 0, "end_column": 0, "depth": 1, @@ -126188,8 +161055,8 @@ "type": "function", "name": "box_id", "full_name": "", - "start_line": 261, - "end_line": 263, + "start_line": 264, + "end_line": 266, "start_column": 0, "end_column": 0, "depth": 3, @@ -126202,8 +161069,8 @@ "type": "function", "name": "parent_type_id", "full_name": "", - "start_line": 265, - "end_line": 267, + "start_line": 268, + "end_line": 270, "start_column": 0, "end_column": 0, "depth": 3, @@ -126216,8 +161083,8 @@ "type": "function", "name": "fmt_box", "full_name": "", - "start_line": 269, - "end_line": 271, + "start_line": 272, + "end_line": 274, "start_column": 0, "end_column": 0, "depth": 3, @@ -126230,8 +161097,8 @@ "type": "function", "name": "as_any", "full_name": "", - "start_line": 273, - "end_line": 275, + "start_line": 276, + "end_line": 278, "start_column": 0, "end_column": 0, "depth": 3, @@ -126244,8 +161111,8 @@ "type": "function", "name": "as_any_mut", "full_name": "", - "start_line": 277, - "end_line": 279, + "start_line": 280, + "end_line": 282, "start_column": 0, "end_column": 0, "depth": 3, @@ -126258,8 +161125,8 @@ "type": "class", "name": "TypeBox", "full_name": "", - "start_line": 282, - "end_line": 286, + "start_line": 285, + "end_line": 289, "start_column": 0, "end_column": 0, "depth": 1, @@ -126272,8 +161139,8 @@ "type": "function", "name": "fmt", "full_name": "", - "start_line": 283, - "end_line": 285, + "start_line": 286, + "end_line": 288, "start_column": 0, "end_column": 0, "depth": 3, @@ -126286,8 +161153,8 @@ "type": "class", "name": "TypeRegistry", "full_name": "", - "start_line": 290, - "end_line": 300, + "start_line": 293, + "end_line": 303, "start_column": 0, "end_column": 0, "depth": 1, @@ -126300,8 +161167,8 @@ "type": "class", "name": "TypeRegistry", "full_name": "", - "start_line": 302, - "end_line": 400, + "start_line": 305, + "end_line": 403, "start_column": 0, "end_column": 0, "depth": 1, @@ -126314,8 +161181,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 304, - "end_line": 314, + "start_line": 307, + "end_line": 317, "start_column": 0, "end_column": 0, "depth": 3, @@ -126328,8 +161195,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 305, - "end_line": 309, + "start_line": 308, + "end_line": 312, "start_column": 0, "end_column": 0, "depth": 5, @@ -126342,8 +161209,8 @@ "type": "function", "name": "register_builtin_types", "full_name": "", - "start_line": 317, - "end_line": 324, + "start_line": 320, + "end_line": 327, "start_column": 0, "end_column": 0, "depth": 3, @@ -126356,8 +161223,8 @@ "type": "function", "name": "register_type", "full_name": "", - "start_line": 327, - "end_line": 340, + "start_line": 330, + "end_line": 343, "start_column": 0, "end_column": 0, "depth": 3, @@ -126366,20 +161233,6 @@ "attributes": {}, "source_text": null }, - { - "type": "variable", - "name": "", - "full_name": "", - "start_line": 328, - "end_line": 328, - "start_column": 0, - "end_column": 0, - "depth": 5, - "scope_path": "", - "children": [], - "attributes": {}, - "source_text": null - }, { "type": "variable", "name": "", @@ -126398,8 +161251,22 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 332, - "end_line": 332, + "start_line": 334, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 335, + "end_line": 335, "start_column": 0, "end_column": 0, "depth": 5, @@ -126412,8 +161279,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 333, - "end_line": 336, + "start_line": 336, + "end_line": 339, "start_column": 0, "end_column": 0, "depth": 6, @@ -126426,8 +161293,8 @@ "type": "function", "name": "get_type", "full_name": "", - "start_line": 343, - "end_line": 345, + "start_line": 346, + "end_line": 348, "start_column": 0, "end_column": 0, "depth": 3, @@ -126440,8 +161307,8 @@ "type": "function", "name": "is_compatible", "full_name": "", - "start_line": 348, - "end_line": 358, + "start_line": 351, + "end_line": 361, "start_column": 0, "end_column": 0, "depth": 3, @@ -126454,8 +161321,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 349, - "end_line": 351, + "start_line": 352, + "end_line": 354, "start_column": 0, "end_column": 0, "depth": 6, @@ -126468,8 +161335,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 353, - "end_line": 357, + "start_line": 356, + "end_line": 360, "start_column": 0, "end_column": 0, "depth": 6, @@ -126482,8 +161349,8 @@ "type": "function", "name": "get_all_type_names", "full_name": "", - "start_line": 361, - "end_line": 363, + "start_line": 364, + "end_line": 366, "start_column": 0, "end_column": 0, "depth": 3, @@ -126496,8 +161363,8 @@ "type": "function", "name": "instantiate_generic", "full_name": "", - "start_line": 366, - "end_line": 399, + "start_line": 369, + "end_line": 402, "start_column": 0, "end_column": 0, "depth": 3, @@ -126510,8 +161377,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 367, - "end_line": 368, + "start_line": 370, + "end_line": 371, "start_column": 0, "end_column": 0, "depth": 5, @@ -126524,8 +161391,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 370, - "end_line": 372, + "start_line": 373, + "end_line": 375, "start_column": 0, "end_column": 0, "depth": 6, @@ -126538,8 +161405,8 @@ "type": "if_statement", "name": "", "full_name": "", - "start_line": 374, - "end_line": 379, + "start_line": 377, + "end_line": 382, "start_column": 0, "end_column": 0, "depth": 6, @@ -126552,8 +161419,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 382, - "end_line": 382, + "start_line": 385, + "end_line": 385, "start_column": 0, "end_column": 0, "depth": 5, @@ -126566,8 +161433,8 @@ "type": "for_loop", "name": "", "full_name": "", - "start_line": 387, - "end_line": 391, + "start_line": 390, + "end_line": 394, "start_column": 0, "end_column": 0, "depth": 6, @@ -126580,8 +161447,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 388, - "end_line": 389, + "start_line": 391, + "end_line": 392, "start_column": 0, "end_column": 0, "depth": 8, @@ -126594,8 +161461,8 @@ "type": "variable", "name": "", "full_name": "", - "start_line": 393, - "end_line": 393, + "start_line": 396, + "end_line": 396, "start_column": 0, "end_column": 0, "depth": 5, @@ -126608,8 +161475,8 @@ "type": "class", "name": "TypeBoxBuilder", "full_name": "", - "start_line": 403, - "end_line": 405, + "start_line": 406, + "end_line": 408, "start_column": 0, "end_column": 0, "depth": 1, @@ -126622,8 +161489,8 @@ "type": "class", "name": "TypeBoxBuilder", "full_name": "", - "start_line": 407, - "end_line": 443, + "start_line": 410, + "end_line": 446, "start_column": 0, "end_column": 0, "depth": 1, @@ -126636,8 +161503,8 @@ "type": "function", "name": "new", "full_name": "", - "start_line": 409, - "end_line": 413, + "start_line": 412, + "end_line": 416, "start_column": 0, "end_column": 0, "depth": 3, @@ -126650,8 +161517,8 @@ "type": "function", "name": "field", "full_name": "", - "start_line": 416, - "end_line": 419, + "start_line": 419, + "end_line": 422, "start_column": 0, "end_column": 0, "depth": 3, @@ -126664,8 +161531,8 @@ "type": "function", "name": "method", "full_name": "", - "start_line": 422, - "end_line": 425, + "start_line": 425, + "end_line": 428, "start_column": 0, "end_column": 0, "depth": 3, @@ -126678,8 +161545,8 @@ "type": "function", "name": "parent", "full_name": "", - "start_line": 428, - "end_line": 431, + "start_line": 431, + "end_line": 434, "start_column": 0, "end_column": 0, "depth": 3, @@ -126692,8 +161559,8 @@ "type": "function", "name": "type_param", "full_name": "", - "start_line": 434, - "end_line": 437, + "start_line": 437, + "end_line": 440, "start_column": 0, "end_column": 0, "depth": 3, @@ -126706,8 +161573,8 @@ "type": "function", "name": "build", "full_name": "", - "start_line": 440, - "end_line": 442, + "start_line": 443, + "end_line": 445, "start_column": 0, "end_column": 0, "depth": 3, @@ -126721,24 +161588,24 @@ "source_text": null }, "ast_statistics": { - "total_nodes": 89, + "total_nodes": 90, "max_depth": 9, "node_type_counts": { - "file_root": 1, - "function": 44, "if_statement": 13, - "for_loop": 2, + "file_root": 1, "import": 5, + "function": 45, + "variable": 13, "class": 11, - "variable": 13 + "for_loop": 2 }, "classes": 11, - "functions": 44, + "functions": 45, "methods": 0, "variables": 13, "control_structures": 15 }, - "generated_at": "2025-08-13T11:36:21.767078989Z" + "generated_at": "2025-08-15T16:17:53.975554752Z" }, { "file_info": { @@ -126750,7 +161617,7 @@ "comment_lines": 57, "empty_lines": 70, "code_ratio": 0.7791304347826087, - "analyzed_at": "2025-08-13T11:36:21.767000561Z", + "analyzed_at": "2025-08-15T16:17:53.984624381Z", "metadata": {} }, "language": "rust", @@ -126764,8 +161631,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "enum", - "modifiers": "pub" + "modifiers": "pub", + "type": "enum" } }, { @@ -126802,8 +161669,8 @@ "properties": [], "member_variables": [], "metadata": { - "implementing_trait": "Display", - "type": "impl" + "type": "impl", + "implementing_trait": "Display" } }, { @@ -126815,8 +161682,8 @@ "properties": [], "member_variables": [], "metadata": { - "type": "impl", - "implementing_trait": "Debug" + "implementing_trait": "Debug", + "type": "impl" } }, { @@ -126862,8 +161729,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -126883,8 +161750,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -126925,8 +161792,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -126982,8 +161849,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -127022,8 +161889,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -127079,8 +161946,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -127157,8 +162024,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -127178,8 +162045,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -127241,8 +162108,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -127280,8 +162147,8 @@ "rating_emoji": "🟢" }, "metadata": { - "type": "function", - "modifiers": "pub" + "modifiers": "pub", + "type": "function" } }, { @@ -127301,8 +162168,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -127322,8 +162189,8 @@ "rating_emoji": "🟢" }, "metadata": { - "modifiers": "pub", - "type": "function" + "type": "function", + "modifiers": "pub" } }, { @@ -129076,12 +163943,12 @@ "total_nodes": 96, "max_depth": 14, "node_type_counts": { - "file_root": 1, - "class": 7, "import": 11, + "file_root": 1, + "if_statement": 14, + "class": 7, "function": 34, - "variable": 29, - "if_statement": 14 + "variable": 29 }, "classes": 7, "functions": 34, @@ -129089,25 +163956,25 @@ "variables": 29, "control_structures": 14 }, - "generated_at": "2025-08-13T11:36:21.767034472Z" + "generated_at": "2025-08-15T16:17:53.984658643Z" } ], "combined_ast_stats": { - "total_nodes": 5636, - "max_depth": 30, + "total_nodes": 7169, + "max_depth": 32, "node_type_counts": { - "function": 1564, - "class": 506, - "if_statement": 1251, - "file_root": 85, - "variable": 1549, - "for_loop": 223, - "import": 458 + "variable": 2143, + "function": 1992, + "for_loop": 270, + "if_statement": 1485, + "import": 553, + "class": 620, + "file_root": 106 }, - "classes": 506, - "functions": 1564, + "classes": 620, + "functions": 1992, "methods": 0, - "variables": 1549, - "control_structures": 1474 + "variables": 2143, + "control_structures": 1755 } } \ No newline at end of file diff --git a/analysis.json b/analysis.json new file mode 100644 index 00000000..66fc8bba --- /dev/null +++ b/analysis.json @@ -0,0 +1,163983 @@ +🔍 [RUST] Starting directory analysis: src +📁 [RUST] File discovery took: 0.094s, found 106 files +⚡ [RUST] Starting PARALLEL analysis (parallel=true) +🔧 [RUST] Creating 106 spawn_blocking tasks for parallel processing +🔄 [RUST] Processing file 1/106 on thread ThreadId(18): src/ast.rs +🔄 [RUST] Processing file 101/106 on thread ThreadId(209): src/stdlib/mod.rs +🚀 [RUST] Spawned 106 blocking tasks, waiting for completion... +🔄 [RUST] Processing file 106/106 on thread ThreadId(145): src/value.rs +🔄 [RUST] File analysis took: 1.543s (106 files) +📊 [RUST] Summary generation took: 0.000s +🏁 [RUST] Total directory analysis took: 1.638s +{ + "directory_path": "src", + "files": [ + { + "file_info": { + "name": "ast.rs", + "path": "src/ast.rs", + "size_bytes": 0, + "total_lines": 1006, + "code_lines": 825, + "comment_lines": 89, + "empty_lines": 92, + "code_ratio": 0.820079522862823, + "analyzed_at": "2025-08-15T16:19:40.592377601Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "Span", + "parent_class": null, + "start_line": 14, + "end_line": 19, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "Span", + "parent_class": null, + "start_line": 21, + "end_line": 79, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "Span", + "parent_class": null, + "start_line": 81, + "end_line": 85, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + }, + { + "name": "ASTNodeType", + "parent_class": null, + "start_line": 92, + "end_line": 96, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "StructureNode", + "parent_class": null, + "start_line": 100, + "end_line": 144, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "ExpressionNode", + "parent_class": null, + "start_line": 148, + "end_line": 197, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "StatementNode", + "parent_class": null, + "start_line": 201, + "end_line": 235, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "CatchClause", + "parent_class": null, + "start_line": 239, + "end_line": 244, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "LiteralValue", + "parent_class": null, + "start_line": 248, + "end_line": 255, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "LiteralValue", + "parent_class": null, + "start_line": 257, + "end_line": 296, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "LiteralValue", + "parent_class": null, + "start_line": 298, + "end_line": 309, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "fmt::Display", + "type": "impl" + } + }, + { + "name": "UnaryOperator", + "parent_class": null, + "start_line": 313, + "end_line": 316, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "BinaryOperator", + "parent_class": null, + "start_line": 320, + "end_line": 334, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "UnaryOperator", + "parent_class": null, + "start_line": 336, + "end_line": 344, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + }, + { + "name": "BinaryOperator", + "parent_class": null, + "start_line": 346, + "end_line": 365, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + }, + { + "name": "ASTNode", + "parent_class": null, + "start_line": 369, + "end_line": 605, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "ASTNode", + "parent_class": null, + "start_line": 607, + "end_line": 862, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ASTNode", + "parent_class": null, + "start_line": 864, + "end_line": 868, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "fmt::Display", + "type": "impl" + } + }, + { + "name": "ASTNode", + "parent_class": null, + "start_line": 870, + "end_line": 878, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 23, + "end_line": 25, + "parameters": [ + "start: usize", + "end: usize", + "line: usize", + "column: usize" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "unknown", + "start_line": 28, + "end_line": 30, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "merge", + "start_line": 33, + "end_line": 40, + "parameters": [ + "&self", + "other: Span" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "error_context", + "start_line": 43, + "end_line": 73, + "parameters": [ + "&self", + "source: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "location_string", + "start_line": 76, + "end_line": 78, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 82, + "end_line": 84, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_nyash_box", + "start_line": 259, + "end_line": 271, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "from_nyash_box", + "start_line": 274, + "end_line": 295, + "parameters": [ + "box_val: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 299, + "end_line": 308, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 337, + "end_line": 343, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 347, + "end_line": 364, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "node_type", + "start_line": 609, + "end_line": 644, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "classify", + "start_line": 648, + "end_line": 688, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_structure", + "start_line": 691, + "end_line": 693, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_expression", + "start_line": 696, + "end_line": 698, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_statement", + "start_line": 701, + "end_line": 703, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "info", + "start_line": 706, + "end_line": 823, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "span", + "start_line": 826, + "end_line": 861, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 865, + "end_line": 867, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "get_param_count", + "start_line": 872, + "end_line": 877, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_ast_node_creation", + "start_line": 888, + "end_line": 918, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_binary_operator", + "start_line": 921, + "end_line": 930, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_complex_ast", + "start_line": 933, + "end_line": 974, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_method_call", + "start_line": 977, + "end_line": 990, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_binary_operation", + "start_line": 993, + "end_line": 1005, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::NyashBox", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{StringBox, IntegerBox, BoolBox, VoidBox}", + "imported_names": [], + "alias": null, + "line_number": 260, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::FloatBox", + "imported_names": [], + "alias": null, + "line_number": 261, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 276, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{StringBox, IntegerBox, BoolBox, VoidBox}", + "imported_names": [], + "alias": null, + "line_number": 277, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::FloatBox", + "imported_names": [], + "alias": null, + "line_number": 278, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 884, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{StringBox, IntegerBox, BoolBox}", + "imported_names": [], + "alias": null, + "line_number": 885, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 19, + "function_count": 25, + "import_count": 10, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "Span", + "full_name": "", + "start_line": 14, + "end_line": 19, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "Span", + "full_name": "", + "start_line": 21, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 23, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "unknown", + "full_name": "", + "start_line": 28, + "end_line": 30, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "merge", + "full_name": "", + "start_line": 33, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "error_context", + "full_name": "", + "start_line": 43, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<&str>", + "full_name": "", + "start_line": 44, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 50, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 56, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "location_string", + "full_name": "", + "start_line": 76, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "Span", + "full_name": "", + "start_line": 81, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 82, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ASTNodeType", + "full_name": "", + "start_line": 92, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StructureNode", + "full_name": "", + "start_line": 100, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExpressionNode", + "full_name": "", + "start_line": 148, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StatementNode", + "full_name": "", + "start_line": 201, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CatchClause", + "full_name": "", + "start_line": 239, + "end_line": 244, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "LiteralValue", + "full_name": "", + "start_line": 248, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "LiteralValue", + "full_name": "", + "start_line": 257, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_nyash_box", + "full_name": "", + "start_line": 259, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_nyash_box", + "full_name": "", + "start_line": 274, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 276, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 277, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 278, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 282, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 284, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 288, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 290, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "LiteralValue", + "full_name": "", + "start_line": 298, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 299, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "UnaryOperator", + "full_name": "", + "start_line": 313, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BinaryOperator", + "full_name": "", + "start_line": 320, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "UnaryOperator", + "full_name": "", + "start_line": 336, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 337, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 338, + "end_line": 341, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BinaryOperator", + "full_name": "", + "start_line": 346, + "end_line": 365, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 347, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 362, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ASTNode", + "full_name": "", + "start_line": 369, + "end_line": 605, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ASTNode", + "full_name": "", + "start_line": 607, + "end_line": 862, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "node_type", + "full_name": "", + "start_line": 609, + "end_line": 644, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "classify", + "full_name": "", + "start_line": 648, + "end_line": 688, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_structure", + "full_name": "", + "start_line": 691, + "end_line": 693, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_expression", + "full_name": "", + "start_line": 696, + "end_line": 698, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_statement", + "full_name": "", + "start_line": 701, + "end_line": 703, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "info", + "full_name": "", + "start_line": 706, + "end_line": 823, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 720, + "end_line": 724, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 731, + "end_line": 735, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 731, + "end_line": 735, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 737, + "end_line": 739, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 741, + "end_line": 743, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 749, + "end_line": 749, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 749, + "end_line": 749, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 750, + "end_line": 750, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 750, + "end_line": 750, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 774, + "end_line": 778, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 810, + "end_line": 811, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 812, + "end_line": 814, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "span", + "full_name": "", + "start_line": 826, + "end_line": 861, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ASTNode", + "full_name": "", + "start_line": 864, + "end_line": 868, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 865, + "end_line": 867, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ASTNode", + "full_name": "", + "start_line": 870, + "end_line": 878, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_param_count", + "full_name": "", + "start_line": 872, + "end_line": 877, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 884, + "end_line": 884, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 885, + "end_line": 885, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ast_node_creation", + "full_name": "", + "start_line": 888, + "end_line": 918, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 890, + "end_line": 893, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 898, + "end_line": 901, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 907, + "end_line": 914, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_binary_operator", + "full_name": "", + "start_line": 921, + "end_line": 930, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 922, + "end_line": 922, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 925, + "end_line": 925, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 928, + "end_line": 928, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_complex_ast", + "full_name": "", + "start_line": 933, + "end_line": 974, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 935, + "end_line": 935, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 954, + "end_line": 968, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_method_call", + "full_name": "", + "start_line": 977, + "end_line": 990, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 979, + "end_line": 984, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_binary_operation", + "full_name": "", + "start_line": 993, + "end_line": 1005, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 995, + "end_line": 1000, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 94, + "max_depth": 16, + "node_type_counts": { + "function": 25, + "file_root": 1, + "if_statement": 17, + "import": 10, + "class": 19, + "variable": 20, + "for_loop": 2 + }, + "classes": 19, + "functions": 25, + "methods": 0, + "variables": 20, + "control_structures": 19 + }, + "generated_at": "2025-08-15T16:19:40.592488213Z" + }, + { + "file_info": { + "name": "compiler.rs", + "path": "src/backend/aot/compiler.rs", + "size_bytes": 0, + "total_lines": 223, + "code_lines": 154, + "comment_lines": 31, + "empty_lines": 38, + "code_ratio": 0.6905829596412556, + "analyzed_at": "2025-08-15T16:19:40.592511013Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "AotCompiler", + "parent_class": null, + "start_line": 14, + "end_line": 18, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "AotCompiler", + "parent_class": null, + "start_line": 20, + "end_line": 152, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 22, + "end_line": 42, + "parameters": [ + "config: &AotConfig" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 25, + "end_line": 25, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "compile_mir_to_wasm", + "start_line": 45, + "end_line": 62, + "parameters": [ + "&mut self", + "mir_module: MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 50, + "end_line": 56, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "precompile_wasm", + "start_line": 65, + "end_line": 80, + "parameters": [ + "&mut self", + "wasm_bytes: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 70, + "end_line": 70, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 74, + "end_line": 74, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "compile_mir_to_native", + "start_line": 83, + "end_line": 86, + "parameters": [ + "&mut self", + "mir_module: MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "execute_precompiled", + "start_line": 89, + "end_line": 113, + "parameters": [ + "&self", + "precompiled_bytes: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 93, + "end_line": 93, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 99, + "end_line": 99, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 104, + "end_line": 104, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 105, + "end_line": 105, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 106, + "end_line": 106, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 110, + "end_line": 110, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "validate_wasm", + "start_line": 116, + "end_line": 120, + "parameters": [ + "&self", + "wasm_bytes: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 118, + "end_line": 118, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_stats", + "start_line": 123, + "end_line": 125, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "reset_stats", + "start_line": 128, + "end_line": 135, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "compression_ratio", + "start_line": 138, + "end_line": 143, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "engine_info", + "start_line": 146, + "end_line": 151, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_compiler_creation", + "start_line": 160, + "end_line": 165, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_empty_module_compilation", + "start_line": 168, + "end_line": 181, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_stats_tracking", + "start_line": 184, + "end_line": 193, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_wasm_validation", + "start_line": 196, + "end_line": 203, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_compression_ratio", + "start_line": 206, + "end_line": 212, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_engine_info", + "start_line": 215, + "end_line": 222, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{AotError, AotConfig, AotStats}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirModule", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::backend::wasm::{WasmBackend, WasmError}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasmtime::{Engine, Module}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::time::Instant", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 156, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirModule", + "imported_names": [], + "alias": null, + "line_number": 157, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 2, + "function_count": 27, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotCompiler", + "full_name": "", + "start_line": 14, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotCompiler", + "full_name": "", + "start_line": 20, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 22, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 24, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 30, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_mir_to_wasm", + "full_name": "", + "start_line": 45, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 56, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "precompile_wasm", + "full_name": "", + "start_line": 65, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_mir_to_native", + "full_name": "", + "start_line": 83, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_precompiled", + "full_name": "", + "start_line": 89, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 98, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "validate_wasm", + "full_name": "", + "start_line": 116, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_stats", + "full_name": "", + "start_line": 123, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "reset_stats", + "full_name": "", + "start_line": 128, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compression_ratio", + "full_name": "", + "start_line": 138, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "engine_info", + "full_name": "", + "start_line": 146, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 157, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_compiler_creation", + "full_name": "", + "start_line": 160, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_empty_module_compilation", + "full_name": "", + "start_line": 168, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 170, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_stats_tracking", + "full_name": "", + "start_line": 184, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 187, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_wasm_validation", + "full_name": "", + "start_line": 196, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 198, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_compression_ratio", + "full_name": "", + "start_line": 206, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_engine_info", + "full_name": "", + "start_line": 215, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 216, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 58, + "max_depth": 6, + "node_type_counts": { + "if_statement": 1, + "function": 16, + "class": 2, + "file_root": 1, + "import": 7, + "variable": 31 + }, + "classes": 2, + "functions": 16, + "methods": 0, + "variables": 31, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.592524190Z" + }, + { + "file_info": { + "name": "config.rs", + "path": "src/backend/aot/config.rs", + "size_bytes": 0, + "total_lines": 256, + "code_lines": 185, + "comment_lines": 29, + "empty_lines": 42, + "code_ratio": 0.72265625, + "analyzed_at": "2025-08-15T16:19:40.592512827Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "AotConfig", + "parent_class": null, + "start_line": 12, + "end_line": 19, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "AotConfig", + "parent_class": null, + "start_line": 21, + "end_line": 203, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "AotConfig", + "parent_class": null, + "start_line": 205, + "end_line": 209, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Default" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 23, + "end_line": 62, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "debug", + "start_line": 65, + "end_line": 88, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "for_target", + "start_line": 91, + "end_line": 121, + "parameters": [ + "target: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "wasmtime_config", + "start_line": 124, + "end_line": 126, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "optimization_level", + "start_line": 129, + "end_line": 131, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "target_arch", + "start_line": 134, + "end_line": 136, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "simd_enabled", + "start_line": 139, + "end_line": 141, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "compatibility_key", + "start_line": 144, + "end_line": 154, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "rebuild_wasmtime_config", + "start_line": 157, + "end_line": 186, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "set_optimization_level", + "start_line": 189, + "end_line": 196, + "parameters": [ + "&mut self", + "level: u8" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_simd", + "start_line": 199, + "end_line": 202, + "parameters": [ + "&mut self", + "enabled: bool" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "default", + "start_line": 206, + "end_line": 208, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_default_config", + "start_line": 216, + "end_line": 220, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_debug_config", + "start_line": 223, + "end_line": 227, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_compatibility_key", + "start_line": 230, + "end_line": 235, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_target_config", + "start_line": 238, + "end_line": 242, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_optimization_level_setting", + "start_line": 245, + "end_line": 249, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_invalid_optimization_level", + "start_line": 252, + "end_line": 255, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::AotError", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasmtime::{Config, OptLevel, Strategy}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 213, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 3, + "function_count": 18, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotConfig", + "full_name": "", + "start_line": 12, + "end_line": 19, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotConfig", + "full_name": "", + "start_line": 21, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 23, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 24, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "debug", + "full_name": "", + "start_line": 65, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "for_target", + "full_name": "", + "start_line": 91, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "wasmtime_config", + "full_name": "", + "start_line": 124, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "optimization_level", + "full_name": "", + "start_line": 129, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "target_arch", + "full_name": "", + "start_line": 134, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "simd_enabled", + "full_name": "", + "start_line": 139, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compatibility_key", + "full_name": "", + "start_line": 144, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "rebuild_wasmtime_config", + "full_name": "", + "start_line": 157, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 158, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_optimization_level", + "full_name": "", + "start_line": 189, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 190, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_simd", + "full_name": "", + "start_line": 199, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotConfig", + "full_name": "", + "start_line": 205, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 206, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_default_config", + "full_name": "", + "start_line": 216, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_debug_config", + "full_name": "", + "start_line": 223, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_compatibility_key", + "full_name": "", + "start_line": 230, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_target_config", + "full_name": "", + "start_line": 238, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_optimization_level_setting", + "full_name": "", + "start_line": 245, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 246, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_invalid_optimization_level", + "full_name": "", + "start_line": 252, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 253, + "end_line": 253, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 44, + "max_depth": 12, + "node_type_counts": { + "variable": 14, + "function": 18, + "import": 3, + "file_root": 1, + "class": 3, + "if_statement": 5 + }, + "classes": 3, + "functions": 18, + "methods": 0, + "variables": 14, + "control_structures": 5 + }, + "generated_at": "2025-08-15T16:19:40.592530783Z" + }, + { + "file_info": { + "name": "executable.rs", + "path": "src/backend/aot/executable.rs", + "size_bytes": 0, + "total_lines": 280, + "code_lines": 192, + "comment_lines": 35, + "empty_lines": 53, + "code_ratio": 0.6857142857142857, + "analyzed_at": "2025-08-15T16:19:40.592288560Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ExecutableBuilder", + "parent_class": null, + "start_line": 12, + "end_line": 16, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 20, + "end_line": 26, + "parameters": [ + "config: &'a AotConfig" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "embed_precompiled_module", + "start_line": 29, + "end_line": 32, + "parameters": [ + "&mut self", + "module_data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "create_executable", + "start_line": 35, + "end_line": 58, + "parameters": [ + "&self", + "output_path: P" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 37, + "end_line": 37, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "generate_runtime_code", + "start_line": 61, + "end_line": 73, + "parameters": [ + "&self", + "module_data: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "format_module_bytes", + "start_line": 76, + "end_line": 89, + "parameters": [ + "&self", + "data: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_cargo_toml", + "start_line": 92, + "end_line": 112, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "compile_rust_executable", + "start_line": 115, + "end_line": 148, + "parameters": [ + "&self", + "temp_dir: P", + "output_path: Q" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 125, + "end_line": 125, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 145, + "end_line": 145, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_executable_builder_creation", + "start_line": 228, + "end_line": 233, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_embed_module", + "start_line": 236, + "end_line": 243, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_format_module_bytes", + "start_line": 246, + "end_line": 256, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_cargo_toml_generation", + "start_line": 259, + "end_line": 267, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_runtime_code_generation", + "start_line": 270, + "end_line": 279, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{AotError, AotConfig}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::path::Path", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fs", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 225, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 15, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExecutableBuilder", + "full_name": "", + "start_line": 12, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExecutableBuilder<'a>", + "full_name": "", + "start_line": 18, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 20, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "embed_precompiled_module", + "full_name": "", + "start_line": 29, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_executable", + "full_name": "", + "start_line": 35, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_runtime_code", + "full_name": "", + "start_line": 61, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "format_module_bytes", + "full_name": "", + "start_line": 76, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_cargo_toml", + "full_name": "", + "start_line": 92, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_rust_executable", + "full_name": "", + "start_line": 115, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 117, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 120, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 124, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 133, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "RUNTIME_TEMPLATE", + "full_name": "", + "start_line": 152, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 225, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_executable_builder_creation", + "full_name": "", + "start_line": 228, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 230, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_embed_module", + "full_name": "", + "start_line": 236, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 237, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 238, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_format_module_bytes", + "full_name": "", + "start_line": 246, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 247, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 248, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_cargo_toml_generation", + "full_name": "", + "start_line": 259, + "end_line": 267, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 262, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_runtime_code_generation", + "full_name": "", + "start_line": 270, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 271, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 272, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 273, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 275, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 59, + "max_depth": 9, + "node_type_counts": { + "variable": 35, + "import": 4, + "for_loop": 1, + "class": 2, + "if_statement": 4, + "file_root": 1, + "function": 12 + }, + "classes": 2, + "functions": 12, + "methods": 0, + "variables": 35, + "control_structures": 5 + }, + "generated_at": "2025-08-15T16:19:40.592305169Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/backend/aot/mod.rs", + "size_bytes": 0, + "total_lines": 151, + "code_lines": 107, + "comment_lines": 20, + "empty_lines": 24, + "code_ratio": 0.7086092715231788, + "analyzed_at": "2025-08-15T16:19:40.592274809Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "AotError", + "parent_class": null, + "start_line": 21, + "end_line": 27, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "AotError", + "parent_class": null, + "start_line": 29, + "end_line": 39, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + }, + { + "name": "AotError", + "parent_class": null, + "start_line": 41, + "end_line": 41, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::error::Error", + "type": "impl" + } + }, + { + "name": "AotError", + "parent_class": null, + "start_line": 43, + "end_line": 47, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "From" + } + }, + { + "name": "AotError", + "parent_class": null, + "start_line": 49, + "end_line": 53, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "From" + } + }, + { + "name": "AotBackend", + "parent_class": null, + "start_line": 56, + "end_line": 59, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "AotBackend", + "parent_class": null, + "start_line": 61, + "end_line": 117, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "AotBackend", + "parent_class": null, + "start_line": 119, + "end_line": 123, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Default" + } + }, + { + "name": "AotStats", + "parent_class": null, + "start_line": 127, + "end_line": 132, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + } + ], + "functions": [ + { + "name": "fmt", + "start_line": 30, + "end_line": 38, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "from", + "start_line": 44, + "end_line": 46, + "parameters": [ + "error" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "from", + "start_line": 50, + "end_line": 52, + "parameters": [ + "error" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 63, + "end_line": 71, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "with_config", + "start_line": 74, + "end_line": 81, + "parameters": [ + "config: AotConfig" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "compile_to_executable", + "start_line": 84, + "end_line": 93, + "parameters": [ + "&mut self", + "mir_module: MirModule", + "output_path: P" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "compile_to_precompiled", + "start_line": 96, + "end_line": 111, + "parameters": [ + "&mut self", + "mir_module: MirModule", + "output_path: P" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_stats", + "start_line": 114, + "end_line": 116, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "default", + "start_line": 120, + "end_line": 122, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_aot_backend_creation", + "start_line": 140, + "end_line": 144, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_default_config", + "start_line": 147, + "end_line": 150, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "compiler::AotCompiler", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "executable::ExecutableBuilder", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "config::AotConfig", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirModule", + "imported_names": [], + "alias": null, + "line_number": 16, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::path::Path", + "imported_names": [], + "alias": null, + "line_number": 17, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 136, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirModule", + "imported_names": [], + "alias": null, + "line_number": 137, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 9, + "function_count": 11, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 17, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotError", + "full_name": "", + "start_line": 21, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotError", + "full_name": "", + "start_line": 29, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 30, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotError", + "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotError", + "full_name": "", + "start_line": 43, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from", + "full_name": "", + "start_line": 44, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotError", + "full_name": "", + "start_line": 49, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from", + "full_name": "", + "start_line": 50, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotBackend", + "full_name": "", + "start_line": 56, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotBackend", + "full_name": "", + "start_line": 61, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 63, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "with_config", + "full_name": "", + "start_line": 74, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_to_executable", + "full_name": "", + "start_line": 84, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_to_precompiled", + "full_name": "", + "start_line": 96, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_stats", + "full_name": "", + "start_line": 114, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotBackend", + "full_name": "", + "start_line": 119, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 120, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AotStats", + "full_name": "", + "start_line": 127, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_aot_backend_creation", + "full_name": "", + "start_line": 140, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_default_config", + "full_name": "", + "start_line": 147, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 36, + "max_depth": 5, + "node_type_counts": { + "file_root": 1, + "function": 11, + "variable": 8, + "class": 9, + "import": 7 + }, + "classes": 9, + "functions": 11, + "methods": 0, + "variables": 8, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.592286649Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/backend/mod.rs", + "size_bytes": 0, + "total_lines": 11, + "code_lines": 6, + "comment_lines": 3, + "empty_lines": 2, + "code_ratio": 0.5454545454545454, + "analyzed_at": "2025-08-15T16:19:40.592524375Z", + "metadata": {} + }, + "language": "rust", + "classes": [], + "functions": [], + "imports": [ + { + "type": "rust_use", + "module_path": "vm::{VM, VMError, VMValue}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm::{WasmBackend, WasmError}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "aot::{AotBackend, AotError, AotConfig, AotStats}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 0, + "function_count": 0, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 4, + "max_depth": 1, + "node_type_counts": { + "import": 3, + "file_root": 1 + }, + "classes": 0, + "functions": 0, + "methods": 0, + "variables": 0, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.592526352Z" + }, + { + "file_info": { + "name": "vm.rs", + "path": "src/backend/vm.rs", + "size_bytes": 0, + "total_lines": 852, + "code_lines": 624, + "comment_lines": 124, + "empty_lines": 104, + "code_ratio": 0.7323943661971831, + "analyzed_at": "2025-08-15T16:19:40.592322246Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "VMError", + "parent_class": null, + "start_line": 13, + "end_line": 20, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "VMError", + "parent_class": null, + "start_line": 22, + "end_line": 33, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + }, + { + "name": "VMError", + "parent_class": null, + "start_line": 35, + "end_line": 35, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::error::Error", + "type": "impl" + } + }, + { + "name": "VMValue", + "parent_class": null, + "start_line": 39, + "end_line": 46, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "VMValue", + "parent_class": null, + "start_line": 48, + "end_line": 106, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "VMValue", + "parent_class": null, + "start_line": 108, + "end_line": 119, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "From<&ConstValue>" + } + }, + { + "name": "VM", + "parent_class": null, + "start_line": 122, + "end_line": 135, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "VM", + "parent_class": null, + "start_line": 137, + "end_line": 793, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ControlFlow", + "parent_class": null, + "start_line": 796, + "end_line": 800, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum" + } + }, + { + "name": "VM", + "parent_class": null, + "start_line": 802, + "end_line": 806, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Default" + } + } + ], + "functions": [ + { + "name": "fmt", + "start_line": 23, + "end_line": 32, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_nyash_box", + "start_line": 50, + "end_line": 59, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "to_string", + "start_line": 62, + "end_line": 71, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "as_integer", + "start_line": 74, + "end_line": 79, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "as_bool", + "start_line": 82, + "end_line": 88, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "from_nyash_box", + "start_line": 91, + "end_line": 105, + "parameters": [ + "nyash_box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "from", + "start_line": 109, + "end_line": 118, + "parameters": [ + "const_val: &ConstValue" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 139, + "end_line": 148, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute_module", + "start_line": 151, + "end_line": 161, + "parameters": [ + "&mut self", + "module: &MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 154, + "end_line": 154, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_function", + "start_line": 164, + "end_line": 213, + "parameters": [ + "&mut self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 172, + "end_line": 172, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_instruction", + "start_line": 216, + "end_line": 588, + "parameters": [ + "&mut self", + "instruction: &MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 561, + "end_line": 561, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_value", + "start_line": 591, + "end_line": 595, + "parameters": [ + "&self", + "value_id: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 594, + "end_line": 594, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_binary_op", + "start_line": 598, + "end_line": 634, + "parameters": [ + "&self", + "op: &BinaryOp", + "left: &VMValue", + "right: &VMValue" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_unary_op", + "start_line": 637, + "end_line": 643, + "parameters": [ + "&self", + "op: &UnaryOp", + "operand: &VMValue" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_compare_op", + "start_line": 646, + "end_line": 674, + "parameters": [ + "&self", + "op: &CompareOp", + "left: &VMValue", + "right: &VMValue" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "call_box_method", + "start_line": 677, + "end_line": 792, + "parameters": [ + "&self", + "box_value", + "method: &str", + "_args" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "default", + "start_line": 803, + "end_line": 805, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_basic_vm_execution", + "start_line": 814, + "end_line": 828, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_binary_operations", + "start_line": 831, + "end_line": 851, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::mir::{MirModule, MirFunction, MirInstruction, ConstValue, BinaryOp, CompareOp, UnaryOp, ValueId, BasicBlockId}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 810, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{MirModule, MirFunction, FunctionSignature, MirType, EffectMask, BasicBlock}", + "imported_names": [], + "alias": null, + "line_number": 811, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 10, + "function_count": 23, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VMError", + "full_name": "", + "start_line": 13, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VMError", + "full_name": "", + "start_line": 22, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 23, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VMError", + "full_name": "", + "start_line": 35, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VMValue", + "full_name": "", + "start_line": 39, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VMValue", + "full_name": "", + "start_line": 48, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_nyash_box", + "full_name": "", + "start_line": 50, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string", + "full_name": "", + "start_line": 62, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_integer", + "full_name": "", + "start_line": 74, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_bool", + "full_name": "", + "start_line": 82, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_nyash_box", + "full_name": "", + "start_line": 91, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VMValue", + "full_name": "", + "start_line": 108, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from", + "full_name": "", + "start_line": 109, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VM", + "full_name": "", + "start_line": 122, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VM", + "full_name": "", + "start_line": 137, + "end_line": 793, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 139, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_module", + "full_name": "", + "start_line": 151, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 153, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 157, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_function", + "full_name": "", + "start_line": 164, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 168, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 170, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 177, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<_>", + "full_name": "", + "start_line": 181, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 203, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 205, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_instruction", + "full_name": "", + "start_line": 216, + "end_line": 588, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 220, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 226, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 227, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 228, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 235, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 242, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 243, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 256, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 271, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 272, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 274, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 284, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 294, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 301, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 309, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 318, + "end_line": 318, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 321, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 322, + "end_line": 325, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 323, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 328, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 331, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 332, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 340, + "end_line": 365, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 343, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 353, + "end_line": 353, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 358, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 381, + "end_line": 381, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 401, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 408, + "end_line": 408, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 420, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 444, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 451, + "end_line": 461, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 451, + "end_line": 461, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 452, + "end_line": 457, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 469, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 472, + "end_line": 474, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 477, + "end_line": 479, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 495, + "end_line": 495, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 514, + "end_line": 514, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 516, + "end_line": 516, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 518, + "end_line": 518, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 527, + "end_line": 527, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 528, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 530, + "end_line": 535, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 539, + "end_line": 539, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 542, + "end_line": 554, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 544, + "end_line": 544, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 548, + "end_line": 548, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Result, _>", + "full_name": "", + "start_line": 561, + "end_line": 561, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 562, + "end_line": 562, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 567, + "end_line": 573, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 568, + "end_line": 572, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 569, + "end_line": 571, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 576, + "end_line": 578, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 581, + "end_line": 583, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_value", + "full_name": "", + "start_line": 591, + "end_line": 595, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_binary_op", + "full_name": "", + "start_line": 598, + "end_line": 634, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 601, + "end_line": 612, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 606, + "end_line": 608, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_unary_op", + "full_name": "", + "start_line": 637, + "end_line": 643, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_compare_op", + "full_name": "", + "start_line": 646, + "end_line": 674, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 649, + "end_line": 656, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 661, + "end_line": 668, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "call_box_method", + "full_name": "", + "start_line": 677, + "end_line": 792, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 682, + "end_line": 725, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 692, + "end_line": 711, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 693, + "end_line": 710, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 694, + "end_line": 709, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 698, + "end_line": 698, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 699, + "end_line": 699, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 700, + "end_line": 700, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 702, + "end_line": 708, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 703, + "end_line": 703, + "start_column": 0, + "end_column": 0, + "depth": 25, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 704, + "end_line": 707, + "start_column": 0, + "end_column": 0, + "depth": 26, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 705, + "end_line": 705, + "start_column": 0, + "end_column": 0, + "depth": 28, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 716, + "end_line": 720, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 717, + "end_line": 717, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 718, + "end_line": 718, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 728, + "end_line": 738, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 741, + "end_line": 748, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 751, + "end_line": 788, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 754, + "end_line": 754, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 759, + "end_line": 767, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 760, + "end_line": 766, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 761, + "end_line": 761, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 762, + "end_line": 762, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 763, + "end_line": 765, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ControlFlow", + "full_name": "", + "start_line": 796, + "end_line": 800, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VM", + "full_name": "", + "start_line": 802, + "end_line": 806, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 803, + "end_line": 805, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 810, + "end_line": 810, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 811, + "end_line": 811, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_basic_vm_execution", + "full_name": "", + "start_line": 814, + "end_line": 828, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 815, + "end_line": 815, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 818, + "end_line": 821, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 823, + "end_line": 823, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 826, + "end_line": 826, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_binary_operations", + "full_name": "", + "start_line": 831, + "end_line": 851, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 832, + "end_line": 832, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 839, + "end_line": 844, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 846, + "end_line": 846, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 849, + "end_line": 849, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 149, + "max_depth": 28, + "node_type_counts": { + "class": 10, + "function": 19, + "if_statement": 35, + "import": 5, + "variable": 75, + "file_root": 1, + "for_loop": 4 + }, + "classes": 10, + "functions": 19, + "methods": 0, + "variables": 75, + "control_structures": 39 + }, + "generated_at": "2025-08-15T16:19:40.592375483Z" + }, + { + "file_info": { + "name": "codegen.rs", + "path": "src/backend/wasm/codegen.rs", + "size_bytes": 0, + "total_lines": 600, + "code_lines": 415, + "comment_lines": 96, + "empty_lines": 89, + "code_ratio": 0.6916666666666667, + "analyzed_at": "2025-08-15T16:19:40.592422473Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "WasmModule", + "parent_class": null, + "start_line": 13, + "end_line": 20, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "WasmModule", + "parent_class": null, + "start_line": 22, + "end_line": 72, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "WasmCodegen", + "parent_class": null, + "start_line": 75, + "end_line": 82, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "WasmCodegen", + "parent_class": null, + "start_line": 84, + "end_line": 573, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 23, + "end_line": 32, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "to_wat", + "start_line": 35, + "end_line": 71, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new", + "start_line": 85, + "end_line": 92, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "generate_module", + "start_line": 95, + "end_line": 138, + "parameters": [ + "&mut self", + "mir_module: MirModule", + "memory_manager: &MemoryManager", + "runtime: &RuntimeImports" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "generate_function", + "start_line": 141, + "end_line": 178, + "parameters": [ + "&mut self", + "name: &str", + "mir_function: MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "count_locals", + "start_line": 181, + "end_line": 203, + "parameters": [ + "&mut self", + "mir_function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_basic_block", + "start_line": 206, + "end_line": 225, + "parameters": [ + "&mut self", + "mir_function: &MirFunction", + "block_id: BasicBlockId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 208, + "end_line": 208, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "generate_instruction", + "start_line": 228, + "end_line": 411, + "parameters": [ + "&mut self", + "instruction: &MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_const", + "start_line": 414, + "end_line": 437, + "parameters": [ + "&mut self", + "dst: ValueId", + "value: &ConstValue" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_binop", + "start_line": 440, + "end_line": 459, + "parameters": [ + "&self", + "dst: ValueId", + "op: BinaryOp", + "lhs: ValueId", + "rhs: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_compare", + "start_line": 462, + "end_line": 478, + "parameters": [ + "&self", + "dst: ValueId", + "op: CompareOp", + "lhs: ValueId", + "rhs: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_return", + "start_line": 481, + "end_line": 490, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_string_box_const", + "start_line": 493, + "end_line": 519, + "parameters": [ + "&self", + "dst: ValueId", + "data_offset: u32", + "string_len: u32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_print", + "start_line": 522, + "end_line": 527, + "parameters": [ + "&self", + "value: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "register_string_literal", + "start_line": 530, + "end_line": 541, + "parameters": [ + "&mut self", + "string: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "generate_data_segments", + "start_line": 544, + "end_line": 565, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 552, + "end_line": 552, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_local_index", + "start_line": 568, + "end_line": 572, + "parameters": [ + "&self", + "value_id: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 571, + "end_line": 571, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_wasm_module_wat_generation", + "start_line": 581, + "end_line": 590, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_constant_generation", + "start_line": 593, + "end_line": 599, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::mir::{MirModule, MirFunction, MirInstruction, ConstValue, BinaryOp, CompareOp, UnaryOp, ValueId, BasicBlockId}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::{WasmError, MemoryManager, RuntimeImports}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 577, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{MirModule, MirFunction, FunctionSignature, MirType, EffectMask, BasicBlock, BasicBlockId, ValueId}", + "imported_names": [], + "alias": null, + "line_number": 578, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 22, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmModule", + "full_name": "", + "start_line": 13, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmModule", + "full_name": "", + "start_line": 22, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 23, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_wat", + "full_name": "", + "start_line": 35, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 50, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmCodegen", + "full_name": "", + "start_line": 75, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmCodegen", + "full_name": "", + "start_line": 84, + "end_line": 573, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 85, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_module", + "full_name": "", + "start_line": 95, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 117, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 124, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 133, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_function", + "full_name": "", + "start_line": 141, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 172, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "count_locals", + "full_name": "", + "start_line": 181, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 182, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_basic_block", + "full_name": "", + "start_line": 206, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 210, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 220, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_instruction", + "full_name": "", + "start_line": 228, + "end_line": 411, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 294, + "end_line": 297, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 300, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 377, + "end_line": 384, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 386, + "end_line": 386, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 389, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 397, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_const", + "full_name": "", + "start_line": 414, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 415, + "end_line": 431, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 421, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 422, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_binop", + "full_name": "", + "start_line": 440, + "end_line": 459, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 441, + "end_line": 451, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_compare", + "full_name": "", + "start_line": 462, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 463, + "end_line": 470, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_return", + "full_name": "", + "start_line": 481, + "end_line": 490, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 482, + "end_line": 489, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_string_box_const", + "full_name": "", + "start_line": 493, + "end_line": 519, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_print", + "full_name": "", + "start_line": 522, + "end_line": 527, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_string_literal", + "full_name": "", + "start_line": 530, + "end_line": 541, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 531, + "end_line": 533, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 535, + "end_line": 535, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 536, + "end_line": 536, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_data_segments", + "full_name": "", + "start_line": 544, + "end_line": 565, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 545, + "end_line": 545, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 547, + "end_line": 562, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 548, + "end_line": 548, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 551, + "end_line": 553, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 555, + "end_line": 559, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_local_index", + "full_name": "", + "start_line": 568, + "end_line": 572, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 577, + "end_line": 577, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 578, + "end_line": 578, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_wasm_module_wat_generation", + "full_name": "", + "start_line": 581, + "end_line": 590, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 582, + "end_line": 582, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 586, + "end_line": 586, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_constant_generation", + "full_name": "", + "start_line": 593, + "end_line": 599, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 594, + "end_line": 594, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 595, + "end_line": 595, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 597, + "end_line": 597, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 86, + "max_depth": 16, + "node_type_counts": { + "for_loop": 17, + "if_statement": 9, + "file_root": 1, + "import": 5, + "variable": 31, + "function": 19, + "class": 4 + }, + "classes": 4, + "functions": 19, + "methods": 0, + "variables": 31, + "control_structures": 26 + }, + "generated_at": "2025-08-15T16:19:40.592470909Z" + }, + { + "file_info": { + "name": "memory.rs", + "path": "src/backend/wasm/memory.rs", + "size_bytes": 0, + "total_lines": 406, + "code_lines": 314, + "comment_lines": 30, + "empty_lines": 62, + "code_ratio": 0.7733990147783252, + "analyzed_at": "2025-08-15T16:19:40.592388038Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BoxLayout", + "parent_class": null, + "start_line": 13, + "end_line": 17, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "BoxLayout", + "parent_class": null, + "start_line": 19, + "end_line": 50, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MemoryManager", + "parent_class": null, + "start_line": 53, + "end_line": 58, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MemoryManager", + "parent_class": null, + "start_line": 60, + "end_line": 321, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 20, + "end_line": 39, + "parameters": [ + "type_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 30, + "end_line": 30, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "add_field", + "start_line": 41, + "end_line": 45, + "parameters": [ + "&mut self", + "field_name: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_field_offset", + "start_line": 47, + "end_line": 49, + "parameters": [ + "&self", + "field_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new", + "start_line": 61, + "end_line": 70, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "register_standard_box_types", + "start_line": 73, + "end_line": 85, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "register_box_type", + "start_line": 88, + "end_line": 96, + "parameters": [ + "&mut self", + "type_name: String", + "fields" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_box_layout", + "start_line": 99, + "end_line": 101, + "parameters": [ + "&self", + "type_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_globals", + "start_line": 104, + "end_line": 108, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_malloc_function", + "start_line": 111, + "end_line": 139, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_box_alloc_function", + "start_line": 142, + "end_line": 182, + "parameters": [ + "&self", + "type_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 144, + "end_line": 144, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_field_get_function", + "start_line": 185, + "end_line": 215, + "parameters": [ + "&self", + "type_name: &str", + "field_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 187, + "end_line": 187, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 190, + "end_line": 190, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_field_set_function", + "start_line": 218, + "end_line": 248, + "parameters": [ + "&self", + "type_name: &str", + "field_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 220, + "end_line": 220, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 223, + "end_line": 223, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_memory_layout_info", + "start_line": 251, + "end_line": 270, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_type_id", + "start_line": 273, + "end_line": 275, + "parameters": [ + "&self", + "type_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 274, + "end_line": 274, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_generic_box_alloc_function", + "start_line": 278, + "end_line": 320, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_box_layout_creation", + "start_line": 328, + "end_line": 333, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_box_layout_field_addition", + "start_line": 336, + "end_line": 344, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_memory_manager_standard_types", + "start_line": 347, + "end_line": 360, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_memory_manager_registration", + "start_line": 363, + "end_line": 372, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_malloc_function_generation", + "start_line": 375, + "end_line": 383, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_box_alloc_function_generation", + "start_line": 386, + "end_line": 394, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_generic_box_alloc_function", + "start_line": 397, + "end_line": 405, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::WasmError", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 325, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 29, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxLayout", + "full_name": "", + "start_line": 13, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxLayout", + "full_name": "", + "start_line": 19, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 20, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 22, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_field", + "full_name": "", + "start_line": 41, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field_offset", + "full_name": "", + "start_line": 47, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MemoryManager", + "full_name": "", + "start_line": 53, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MemoryManager", + "full_name": "", + "start_line": 60, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 61, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_standard_box_types", + "full_name": "", + "start_line": 73, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_box_type", + "full_name": "", + "start_line": 88, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_box_layout", + "full_name": "", + "start_line": 99, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_globals", + "full_name": "", + "start_line": 104, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_malloc_function", + "full_name": "", + "start_line": 111, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_box_alloc_function", + "full_name": "", + "start_line": 142, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field_get_function", + "full_name": "", + "start_line": 185, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field_set_function", + "full_name": "", + "start_line": 218, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_memory_layout_info", + "full_name": "", + "start_line": 251, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_type_id", + "full_name": "", + "start_line": 273, + "end_line": 275, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_generic_box_alloc_function", + "full_name": "", + "start_line": 278, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 325, + "end_line": 325, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_box_layout_creation", + "full_name": "", + "start_line": 328, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 329, + "end_line": 329, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_box_layout_field_addition", + "full_name": "", + "start_line": 336, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 337, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_memory_manager_standard_types", + "full_name": "", + "start_line": 347, + "end_line": 360, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_memory_manager_registration", + "full_name": "", + "start_line": 363, + "end_line": 372, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 364, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_malloc_function_generation", + "full_name": "", + "start_line": 375, + "end_line": 383, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 376, + "end_line": 376, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 377, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_box_alloc_function_generation", + "full_name": "", + "start_line": 386, + "end_line": 394, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 387, + "end_line": 387, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 388, + "end_line": 388, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_generic_box_alloc_function", + "full_name": "", + "start_line": 397, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 398, + "end_line": 398, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 399, + "end_line": 399, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 51, + "max_depth": 6, + "node_type_counts": { + "import": 3, + "for_loop": 1, + "variable": 20, + "file_root": 1, + "class": 4, + "function": 22 + }, + "classes": 4, + "functions": 22, + "methods": 0, + "variables": 20, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.592410448Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/backend/wasm/mod.rs", + "size_bytes": 0, + "total_lines": 155, + "code_lines": 109, + "comment_lines": 19, + "empty_lines": 27, + "code_ratio": 0.7032258064516129, + "analyzed_at": "2025-08-15T16:19:40.592404540Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "WasmError", + "parent_class": null, + "start_line": 21, + "end_line": 27, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "WasmError", + "parent_class": null, + "start_line": 29, + "end_line": 39, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + }, + { + "name": "WasmError", + "parent_class": null, + "start_line": 41, + "end_line": 41, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::error::Error" + } + }, + { + "name": "WasmBackend", + "parent_class": null, + "start_line": 44, + "end_line": 48, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "WasmBackend", + "parent_class": null, + "start_line": 50, + "end_line": 126, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "WasmBackend", + "parent_class": null, + "start_line": 128, + "end_line": 132, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Default" + } + } + ], + "functions": [ + { + "name": "fmt", + "start_line": 30, + "end_line": 38, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 52, + "end_line": 58, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "compile_module", + "start_line": 61, + "end_line": 68, + "parameters": [ + "&mut self", + "mir_module: MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 67, + "end_line": 67, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "compile_to_wat", + "start_line": 71, + "end_line": 74, + "parameters": [ + "&mut self", + "mir_module: MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute_wasm", + "start_line": 77, + "end_line": 125, + "parameters": [ + "&self", + "wasm_bytes: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 80, + "end_line": 80, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 85, + "end_line": 87, + "parameters": [ + "value: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 90, + "end_line": 111, + "parameters": [ + "caller", + "ptr: i32", + "len: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 92, + "end_line": 92, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 93, + "end_line": 93, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 115, + "end_line": 115, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 119, + "end_line": 119, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 122, + "end_line": 122, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "default", + "start_line": 129, + "end_line": 131, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_backend_creation", + "start_line": 140, + "end_line": 144, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_empty_module_compilation", + "start_line": 147, + "end_line": 154, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "codegen::{WasmCodegen, WasmModule}", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "memory::{MemoryManager, BoxLayout}", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "runtime::RuntimeImports", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{MirModule, MirFunction}", + "imported_names": [], + "alias": null, + "line_number": 16, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 17, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 136, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirModule", + "imported_names": [], + "alias": null, + "line_number": 137, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 6, + "function_count": 17, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 17, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmError", + "full_name": "", + "start_line": 21, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmError", + "full_name": "", + "start_line": 29, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 30, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmError", + "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmBackend", + "full_name": "", + "start_line": 44, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmBackend", + "full_name": "", + "start_line": 50, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 52, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_module", + "full_name": "", + "start_line": 61, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile_to_wat", + "full_name": "", + "start_line": 71, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_wasm", + "full_name": "", + "start_line": 77, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 79, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 100, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 113, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WasmBackend", + "full_name": "", + "start_line": 128, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 129, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_backend_creation", + "full_name": "", + "start_line": 140, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_empty_module_compilation", + "full_name": "", + "start_line": 147, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 152, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 44, + "max_depth": 14, + "node_type_counts": { + "import": 7, + "function": 8, + "variable": 20, + "if_statement": 2, + "class": 6, + "file_root": 1 + }, + "classes": 6, + "functions": 8, + "methods": 0, + "variables": 20, + "control_structures": 2 + }, + "generated_at": "2025-08-15T16:19:40.592414968Z" + }, + { + "file_info": { + "name": "runtime.rs", + "path": "src/backend/wasm/runtime.rs", + "size_bytes": 0, + "total_lines": 309, + "code_lines": 243, + "comment_lines": 29, + "empty_lines": 37, + "code_ratio": 0.7864077669902912, + "analyzed_at": "2025-08-15T16:19:40.592460064Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "RuntimeImports", + "parent_class": null, + "start_line": 11, + "end_line": 14, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ImportFunction", + "parent_class": null, + "start_line": 18, + "end_line": 23, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "RuntimeImports", + "parent_class": null, + "start_line": 25, + "end_line": 248, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 26, + "end_line": 34, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add_standard_imports", + "start_line": 37, + "end_line": 94, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "get_imports", + "start_line": 97, + "end_line": 120, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 98, + "end_line": 119, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "add_import", + "start_line": 123, + "end_line": 130, + "parameters": [ + "&mut self", + "module: String", + "name: String", + "params", + "result" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "has_import", + "start_line": 133, + "end_line": 135, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 134, + "end_line": 134, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_import", + "start_line": 138, + "end_line": 140, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 139, + "end_line": 139, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_js_import_object", + "start_line": 143, + "end_line": 216, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_wasmtime_imports", + "start_line": 219, + "end_line": 247, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_runtime_imports_creation", + "start_line": 255, + "end_line": 259, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_import_wat_generation", + "start_line": 262, + "end_line": 270, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_custom_import_addition", + "start_line": 273, + "end_line": 287, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_js_import_object_generation", + "start_line": 290, + "end_line": 298, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_wasmtime_imports_generation", + "start_line": 301, + "end_line": 308, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::WasmError", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 252, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 3, + "function_count": 16, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RuntimeImports", + "full_name": "", + "start_line": 11, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ImportFunction", + "full_name": "", + "start_line": 18, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RuntimeImports", + "full_name": "", + "start_line": 25, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 26, + "end_line": 34, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_standard_imports", + "full_name": "", + "start_line": 37, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_imports", + "full_name": "", + "start_line": 97, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_import", + "full_name": "", + "start_line": 123, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "has_import", + "full_name": "", + "start_line": 133, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_import", + "full_name": "", + "start_line": 138, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_js_import_object", + "full_name": "", + "start_line": 143, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "std::collections::HashMap>", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 153, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_wasmtime_imports", + "full_name": "", + "start_line": 219, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 220, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 244, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 252, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_runtime_imports_creation", + "full_name": "", + "start_line": 255, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 256, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_import_wat_generation", + "full_name": "", + "start_line": 262, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 263, + "end_line": 263, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 264, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_custom_import_addition", + "full_name": "", + "start_line": 273, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 274, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 283, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_js_import_object_generation", + "full_name": "", + "start_line": 290, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 291, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 292, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_wasmtime_imports_generation", + "full_name": "", + "start_line": 301, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 302, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 303, + "end_line": 303, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 40, + "max_depth": 12, + "node_type_counts": { + "class": 3, + "for_loop": 4, + "file_root": 1, + "import": 2, + "function": 13, + "if_statement": 2, + "variable": 15 + }, + "classes": 3, + "functions": 13, + "methods": 0, + "variables": 15, + "control_structures": 6 + }, + "generated_at": "2025-08-15T16:19:40.592481583Z" + }, + { + "file_info": { + "name": "benchmarks.rs", + "path": "src/benchmarks.rs", + "size_bytes": 0, + "total_lines": 236, + "code_lines": 168, + "comment_lines": 25, + "empty_lines": 43, + "code_ratio": 0.711864406779661, + "analyzed_at": "2025-08-15T16:19:40.592256179Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BenchmarkResult", + "parent_class": null, + "start_line": 18, + "end_line": 24, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BenchmarkSuite", + "parent_class": null, + "start_line": 26, + "end_line": 28, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "BenchmarkSuite", + "parent_class": null, + "start_line": 30, + "end_line": 220, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 31, + "end_line": 33, + "parameters": [ + "iterations: u32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "run_all", + "start_line": 36, + "end_line": 68, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "run_interpreter_benchmark", + "start_line": 71, + "end_line": 97, + "parameters": [ + "&self", + "name: &str", + "source: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "run_vm_benchmark", + "start_line": 100, + "end_line": 128, + "parameters": [ + "&self", + "name: &str", + "source: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "run_wasm_benchmark", + "start_line": 131, + "end_line": 163, + "parameters": [ + "&self", + "name: &str", + "source: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "print_results", + "start_line": 166, + "end_line": 219, + "parameters": [ + "&self", + "results: &[BenchmarkResult]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 184, + "end_line": 184, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 201, + "end_line": 201, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 202, + "end_line": 202, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 203, + "end_line": 203, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 206, + "end_line": 206, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 207, + "end_line": 207, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 208, + "end_line": 208, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 211, + "end_line": 211, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 212, + "end_line": 212, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 213, + "end_line": 213, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_benchmark_light", + "start_line": 227, + "end_line": 235, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "std::time::Instant", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fs", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::parser::NyashParser", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::interpreter::NyashInterpreter", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::MirCompiler", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::backend::{VM, WasmBackend}", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 224, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 3, + "function_count": 17, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BenchmarkResult", + "full_name": "", + "start_line": 18, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BenchmarkSuite", + "full_name": "", + "start_line": 26, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BenchmarkSuite", + "full_name": "", + "start_line": 30, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 31, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run_all", + "full_name": "", + "start_line": 36, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run_interpreter_benchmark", + "full_name": "", + "start_line": 71, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 79, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run_vm_benchmark", + "full_name": "", + "start_line": 100, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 110, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 113, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run_wasm_benchmark", + "full_name": "", + "start_line": 131, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 132, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "print_results", + "full_name": "", + "start_line": 166, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "std::collections::HashMap>", + "full_name": "", + "start_line": 173, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 187, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "f64", + "full_name": "", + "start_line": 200, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "f64", + "full_name": "", + "start_line": 205, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "f64", + "full_name": "", + "start_line": 210, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_benchmark_light", + "full_name": "", + "start_line": 227, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 228, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 64, + "max_depth": 12, + "node_type_counts": { + "if_statement": 7, + "function": 7, + "variable": 32, + "for_loop": 7, + "import": 7, + "file_root": 1, + "class": 3 + }, + "classes": 3, + "functions": 7, + "methods": 0, + "variables": 32, + "control_structures": 14 + }, + "generated_at": "2025-08-15T16:19:40.592272212Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/array/mod.rs", + "size_bytes": 0, + "total_lines": 345, + "code_lines": 265, + "comment_lines": 31, + "empty_lines": 49, + "code_ratio": 0.7681159420289855, + "analyzed_at": "2025-08-15T16:19:40.601350784Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 10, + "end_line": 13, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 15, + "end_line": 236, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 239, + "end_line": 252, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 254, + "end_line": 278, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 280, + "end_line": 284, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 286, + "end_line": 334, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "ArrayBox", + "parent_class": null, + "start_line": 337, + "end_line": 345, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Debug", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 17, + "end_line": 22, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new_with_elements", + "start_line": 25, + "end_line": 30, + "parameters": [ + "elements" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "push", + "start_line": 33, + "end_line": 36, + "parameters": [ + "&self", + "item" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "pop", + "start_line": 39, + "end_line": 44, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "length", + "start_line": 47, + "end_line": 49, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "len", + "start_line": 52, + "end_line": 54, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get", + "start_line": 57, + "end_line": 68, + "parameters": [ + "&self", + "index" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set", + "start_line": 71, + "end_line": 84, + "parameters": [ + "&self", + "index", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "remove", + "start_line": 87, + "end_line": 99, + "parameters": [ + "&self", + "index" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "indexOf", + "start_line": 102, + "end_line": 110, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "contains", + "start_line": 113, + "end_line": 121, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear", + "start_line": 124, + "end_line": 127, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "join", + "start_line": 130, + "end_line": 141, + "parameters": [ + "&self", + "delimiter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 135, + "end_line": 135, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "sort", + "start_line": 144, + "end_line": 189, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 148, + "end_line": 186, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "reverse", + "start_line": 192, + "end_line": 196, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "slice", + "start_line": 199, + "end_line": 235, + "parameters": [ + "&self", + "start", + "end" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 231, + "end_line": 231, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "clone", + "start_line": 240, + "end_line": 251, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 244, + "end_line": 244, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "box_id", + "start_line": 255, + "end_line": 257, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 259, + "end_line": 261, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 263, + "end_line": 269, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 266, + "end_line": 266, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "as_any", + "start_line": 271, + "end_line": 273, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 275, + "end_line": 277, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 281, + "end_line": 283, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 287, + "end_line": 289, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 292, + "end_line": 298, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 300, + "end_line": 306, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 303, + "end_line": 303, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "type_name", + "start_line": 309, + "end_line": 311, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 314, + "end_line": 333, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 338, + "end_line": 344, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, IntegerBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 5, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 6, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, RwLock}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::Display", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::cmp::Ordering", + "imported_names": [], + "alias": null, + "line_number": 149, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 35, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 5, + "end_line": 5, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 6, + "end_line": 6, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ArrayBox", + "full_name": "", + "start_line": 10, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ArrayBox", + "full_name": "", + "start_line": 15, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 17, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_with_elements", + "full_name": "", + "start_line": 25, + "end_line": 30, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "push", + "full_name": "", + "start_line": 33, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "pop", + "full_name": "", + "start_line": 39, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "length", + "full_name": "", + "start_line": 47, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "len", + "full_name": "", + "start_line": 52, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get", + "full_name": "", + "start_line": 57, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set", + "full_name": "", + "start_line": 71, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "remove", + "full_name": "", + "start_line": 87, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "indexOf", + "full_name": "", + "start_line": 102, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "contains", + "full_name": "", + "start_line": 113, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear", + "full_name": "", + "start_line": 124, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "join", + "full_name": "", + "start_line": 130, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 131, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 132, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 133, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "sort", + "full_name": "", + "start_line": 144, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 145, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 152, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 168, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 175, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "reverse", + "full_name": "", + "start_line": 192, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "slice", + "full_name": "", + "start_line": 199, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 203, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 203, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec>", + "full_name": "", + "start_line": 229, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ArrayBox", + "full_name": "", + "start_line": 239, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 240, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 242, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec>", + "full_name": "", + "start_line": 243, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ArrayBox", + "full_name": "", + "start_line": 254, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 255, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 259, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 263, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 264, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 265, + "end_line": 267, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 271, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 275, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ArrayBox", + "full_name": "", + "start_line": 280, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 281, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ArrayBox", + "full_name": "", + "start_line": 286, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 287, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 292, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 293, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 300, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 301, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 302, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 309, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 314, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 315, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 319, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 323, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 324, + "end_line": 326, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ArrayBox", + "full_name": "", + "start_line": 337, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 338, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 339, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 93, + "max_depth": 12, + "node_type_counts": { + "import": 5, + "function": 29, + "variable": 28, + "file_root": 1, + "for_loop": 3, + "if_statement": 20, + "class": 7 + }, + "classes": 7, + "functions": 29, + "methods": 0, + "variables": 28, + "control_structures": 23 + }, + "generated_at": "2025-08-15T16:19:40.601374269Z" + }, + { + "file_info": { + "name": "audio_box.rs", + "path": "src/boxes/audio_box.rs", + "size_bytes": 0, + "total_lines": 336, + "code_lines": 217, + "comment_lines": 73, + "empty_lines": 46, + "code_ratio": 0.6458333333333334, + "analyzed_at": "2025-08-15T16:19:40.592475341Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "AudioBox", + "parent_class": null, + "start_line": 67, + "end_line": 77, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "AudioBox", + "parent_class": null, + "start_line": 79, + "end_line": 281, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "AudioBox", + "parent_class": null, + "start_line": 283, + "end_line": 303, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "AudioBox", + "parent_class": null, + "start_line": 305, + "end_line": 330, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "AudioBox", + "parent_class": null, + "start_line": 332, + "end_line": 336, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 80, + "end_line": 104, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_volume", + "start_line": 107, + "end_line": 116, + "parameters": [ + "&mut self", + "volume: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_volume", + "start_line": 119, + "end_line": 121, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "create_tone", + "start_line": 125, + "end_line": 151, + "parameters": [ + "&self", + "frequency: f64", + "duration_ms: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "create_beep", + "start_line": 155, + "end_line": 157, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "create_noise", + "start_line": 161, + "end_line": 190, + "parameters": [ + "&self", + "duration_ms: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_frequency_data", + "start_line": 194, + "end_line": 204, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_waveform_data", + "start_line": 208, + "end_line": 218, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_playing", + "start_line": 221, + "end_line": 223, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "create_tone", + "start_line": 227, + "end_line": 230, + "parameters": [ + "&self", + "frequency: f64", + "duration: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "create_beep", + "start_line": 233, + "end_line": 236, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "create_noise", + "start_line": 239, + "end_line": 242, + "parameters": [ + "&self", + "duration: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_frequency_data", + "start_line": 245, + "end_line": 248, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 247, + "end_line": 247, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_waveform_data", + "start_line": 251, + "end_line": 254, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 253, + "end_line": 253, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "is_context_running", + "start_line": 257, + "end_line": 265, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "resume_context", + "start_line": 269, + "end_line": 275, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "resume_context", + "start_line": 278, + "end_line": 280, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 284, + "end_line": 286, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 288, + "end_line": 290, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 292, + "end_line": 294, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 296, + "end_line": 298, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 300, + "end_line": 302, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 306, + "end_line": 308, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 311, + "end_line": 313, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 315, + "end_line": 317, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 319, + "end_line": 321, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 323, + "end_line": 329, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 333, + "end_line": 335, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 53, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 54, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm_bindgen::prelude::*", + "imported_names": [], + "alias": null, + "line_number": 57, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "web_sys::{\n AudioContext, AudioBuffer, AudioBufferSourceNode, GainNode,\n AnalyserNode, AudioDestinationNode, PeriodicWave, OscillatorNode\n}", + "imported_names": [], + "alias": null, + "line_number": 60, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 30, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AudioBox", + "full_name": "", + "start_line": 67, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AudioBox", + "full_name": "", + "start_line": 79, + "end_line": 281, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 80, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_volume", + "full_name": "", + "start_line": 107, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 112, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_volume", + "full_name": "", + "start_line": 119, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_tone", + "full_name": "", + "start_line": 125, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 126, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_beep", + "full_name": "", + "start_line": 155, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_noise", + "full_name": "", + "start_line": 161, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 167, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 170, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 177, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_frequency_data", + "full_name": "", + "start_line": 194, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_waveform_data", + "full_name": "", + "start_line": 208, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 209, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 210, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 211, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_playing", + "full_name": "", + "start_line": 221, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_tone", + "full_name": "", + "start_line": 227, + "end_line": 230, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_beep", + "full_name": "", + "start_line": 233, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_noise", + "full_name": "", + "start_line": 239, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_frequency_data", + "full_name": "", + "start_line": 245, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_waveform_data", + "full_name": "", + "start_line": 251, + "end_line": 254, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_context_running", + "full_name": "", + "start_line": 257, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resume_context", + "full_name": "", + "start_line": 269, + "end_line": 275, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 270, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 271, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 272, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resume_context", + "full_name": "", + "start_line": 278, + "end_line": 280, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AudioBox", + "full_name": "", + "start_line": 283, + "end_line": 303, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 284, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 288, + "end_line": 290, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 292, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 296, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 300, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AudioBox", + "full_name": "", + "start_line": 305, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 306, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 311, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 315, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 319, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 323, + "end_line": 329, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 324, + "end_line": 328, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AudioBox", + "full_name": "", + "start_line": 332, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 333, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 69, + "max_depth": 18, + "node_type_counts": { + "for_loop": 1, + "variable": 14, + "file_root": 1, + "class": 5, + "if_statement": 16, + "function": 28, + "import": 4 + }, + "classes": 5, + "functions": 28, + "methods": 0, + "variables": 14, + "control_structures": 17 + }, + "generated_at": "2025-08-15T16:19:40.592495795Z" + }, + { + "file_info": { + "name": "bool_box.rs", + "path": "src/boxes/bool_box.rs", + "size_bytes": 0, + "total_lines": 123, + "code_lines": 65, + "comment_lines": 41, + "empty_lines": 17, + "code_ratio": 0.5284552845528455, + "analyzed_at": "2025-08-15T16:19:40.592439767Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BoolBox", + "parent_class": null, + "start_line": 47, + "end_line": 50, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 52, + "end_line": 67, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 69, + "end_line": 95, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 97, + "end_line": 117, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 119, + "end_line": 123, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 53, + "end_line": 58, + "parameters": [ + "value: bool" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "true_box", + "start_line": 60, + "end_line": 62, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "false_box", + "start_line": 64, + "end_line": 66, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "to_string_box", + "start_line": 70, + "end_line": 72, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 74, + "end_line": 80, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 82, + "end_line": 84, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 87, + "end_line": 89, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 92, + "end_line": 94, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 98, + "end_line": 100, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 102, + "end_line": 104, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 106, + "end_line": 108, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 110, + "end_line": 112, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 114, + "end_line": 116, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 120, + "end_line": 122, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 41, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 42, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::Display", + "imported_names": [], + "alias": null, + "line_number": 43, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 14, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 47, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 52, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 53, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "true_box", + "full_name": "", + "start_line": 60, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "false_box", + "full_name": "", + "start_line": 64, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 69, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 70, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 74, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 82, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 87, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 92, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 97, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 98, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 102, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 106, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 110, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 114, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 119, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 120, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 25, + "max_depth": 7, + "node_type_counts": { + "if_statement": 2, + "import": 3, + "class": 5, + "file_root": 1, + "function": 14 + }, + "classes": 5, + "functions": 14, + "methods": 0, + "variables": 0, + "control_structures": 2 + }, + "generated_at": "2025-08-15T16:19:40.592448402Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/buffer/mod.rs", + "size_bytes": 0, + "total_lines": 271, + "code_lines": 189, + "comment_lines": 50, + "empty_lines": 32, + "code_ratio": 0.6974169741697417, + "analyzed_at": "2025-08-15T16:19:40.600831654Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BufferBox", + "parent_class": null, + "start_line": 37, + "end_line": 40, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BufferBox", + "parent_class": null, + "start_line": 42, + "end_line": 182, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "BufferBox", + "parent_class": null, + "start_line": 185, + "end_line": 194, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "BufferBox", + "parent_class": null, + "start_line": 196, + "end_line": 217, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "BufferBox", + "parent_class": null, + "start_line": 219, + "end_line": 223, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "BufferBox", + "parent_class": null, + "start_line": 225, + "end_line": 260, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "BufferBox", + "parent_class": null, + "start_line": 263, + "end_line": 271, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Debug", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 43, + "end_line": 48, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "len", + "start_line": 51, + "end_line": 53, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "from_vec", + "start_line": 55, + "end_line": 60, + "parameters": [ + "data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "write", + "start_line": 63, + "end_line": 80, + "parameters": [ + "&self", + "data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "readAll", + "start_line": 83, + "end_line": 90, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "read", + "start_line": 93, + "end_line": 108, + "parameters": [ + "&self", + "count" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear", + "start_line": 111, + "end_line": 114, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "length", + "start_line": 117, + "end_line": 119, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "append", + "start_line": 122, + "end_line": 131, + "parameters": [ + "&self", + "other" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "slice", + "start_line": 134, + "end_line": 152, + "parameters": [ + "&self", + "start", + "end" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_shared_with", + "start_line": 155, + "end_line": 164, + "parameters": [ + "&self", + "other" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "share_reference", + "start_line": 167, + "end_line": 174, + "parameters": [ + "&self", + "_data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "memory_footprint", + "start_line": 177, + "end_line": 181, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clone", + "start_line": 186, + "end_line": 193, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 197, + "end_line": 199, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 201, + "end_line": 203, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 205, + "end_line": 208, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 210, + "end_line": 212, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 214, + "end_line": 216, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 220, + "end_line": 222, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 226, + "end_line": 228, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 231, + "end_line": 237, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 239, + "end_line": 242, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 245, + "end_line": 247, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 250, + "end_line": 259, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 264, + "end_line": 270, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, IntegerBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 31, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::array::ArrayBox", + "imported_names": [], + "alias": null, + "line_number": 32, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 33, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, RwLock}", + "imported_names": [], + "alias": null, + "line_number": 34, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 35, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 26, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 31, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 32, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 33, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 34, + "end_line": 34, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 35, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 37, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 42, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 43, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "len", + "full_name": "", + "start_line": 51, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_vec", + "full_name": "", + "start_line": 55, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "write", + "full_name": "", + "start_line": 63, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 70, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "readAll", + "full_name": "", + "start_line": 83, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read", + "full_name": "", + "start_line": 93, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 100, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear", + "full_name": "", + "start_line": 111, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "length", + "full_name": "", + "start_line": 117, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "append", + "full_name": "", + "start_line": 122, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 124, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "slice", + "full_name": "", + "start_line": 134, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_shared_with", + "full_name": "", + "start_line": 155, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 158, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_reference", + "full_name": "", + "start_line": 167, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "memory_footprint", + "full_name": "", + "start_line": 177, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 179, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 185, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 186, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 196, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 197, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 201, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 205, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 210, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 214, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 219, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 220, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 225, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 226, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 231, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 239, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 245, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 250, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 253, + "end_line": 253, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 254, + "end_line": 254, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BufferBox", + "full_name": "", + "start_line": 263, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 264, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 265, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 77, + "max_depth": 15, + "node_type_counts": { + "file_root": 1, + "function": 26, + "variable": 26, + "import": 5, + "class": 7, + "for_loop": 3, + "if_statement": 9 + }, + "classes": 7, + "functions": 26, + "methods": 0, + "variables": 26, + "control_structures": 12 + }, + "generated_at": "2025-08-15T16:19:40.600845830Z" + }, + { + "file_info": { + "name": "canvas_event_box.rs", + "path": "src/boxes/canvas_event_box.rs", + "size_bytes": 0, + "total_lines": 304, + "code_lines": 188, + "comment_lines": 77, + "empty_lines": 39, + "code_ratio": 0.618421052631579, + "analyzed_at": "2025-08-15T16:19:40.593561335Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "CanvasEventBox", + "parent_class": null, + "start_line": 78, + "end_line": 84, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "CanvasEventBox", + "parent_class": null, + "start_line": 86, + "end_line": 249, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "CanvasEventBox", + "parent_class": null, + "start_line": 251, + "end_line": 271, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "CanvasEventBox", + "parent_class": null, + "start_line": 273, + "end_line": 298, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "CanvasEventBox", + "parent_class": null, + "start_line": 300, + "end_line": 304, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 87, + "end_line": 95, + "parameters": [ + "canvas_id: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_canvas_element", + "start_line": 99, + "end_line": 104, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "get_mouse_x", + "start_line": 107, + "end_line": 109, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_mouse_y", + "start_line": 112, + "end_line": 114, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_pressed", + "start_line": 117, + "end_line": 119, + "parameters": [ + "&self", + "button: i16" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_canvas_coordinates", + "start_line": 123, + "end_line": 132, + "parameters": [ + "&self", + "event: &MouseEvent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "on_mouse_down", + "start_line": 136, + "end_line": 147, + "parameters": [ + "&self", + "callback" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 138, + "end_line": 141, + "parameters": [ + "event: MouseEvent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "on_mouse_up", + "start_line": 151, + "end_line": 161, + "parameters": [ + "&self", + "callback" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 153, + "end_line": 155, + "parameters": [ + "event: MouseEvent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "on_mouse_move", + "start_line": 165, + "end_line": 175, + "parameters": [ + "&self", + "callback" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 167, + "end_line": 169, + "parameters": [ + "event: MouseEvent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "on_mouse_click", + "start_line": 179, + "end_line": 189, + "parameters": [ + "&self", + "callback" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 181, + "end_line": 183, + "parameters": [ + "event: MouseEvent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "on_touch_start", + "start_line": 193, + "end_line": 203, + "parameters": [ + "&self", + "callback" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 195, + "end_line": 197, + "parameters": [ + "event: TouchEvent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "on_key_down", + "start_line": 207, + "end_line": 217, + "parameters": [ + "&self", + "callback" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 209, + "end_line": 211, + "parameters": [ + "event: KeyboardEvent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "on_mouse_down", + "start_line": 221, + "end_line": 223, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "on_mouse_up", + "start_line": 226, + "end_line": 228, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "on_mouse_move", + "start_line": 231, + "end_line": 233, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "on_mouse_click", + "start_line": 236, + "end_line": 238, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "on_touch_start", + "start_line": 241, + "end_line": 243, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "on_key_down", + "start_line": 246, + "end_line": 248, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 252, + "end_line": 254, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 256, + "end_line": 258, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 260, + "end_line": 262, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 264, + "end_line": 266, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 268, + "end_line": 270, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 274, + "end_line": 276, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 279, + "end_line": 281, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 283, + "end_line": 285, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 287, + "end_line": 289, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 291, + "end_line": 297, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 301, + "end_line": 303, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 64, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 65, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm_bindgen::prelude::*", + "imported_names": [], + "alias": null, + "line_number": 68, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "web_sys::{\n HtmlCanvasElement, MouseEvent, TouchEvent, KeyboardEvent,\n EventTarget, Element\n}", + "imported_names": [], + "alias": null, + "line_number": 71, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 35, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CanvasEventBox", + "full_name": "", + "start_line": 78, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CanvasEventBox", + "full_name": "", + "start_line": 86, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 87, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_canvas_element", + "full_name": "", + "start_line": 99, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 100, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_mouse_x", + "full_name": "", + "start_line": 107, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_mouse_y", + "full_name": "", + "start_line": 112, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_pressed", + "full_name": "", + "start_line": 117, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_canvas_coordinates", + "full_name": "", + "start_line": 123, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 124, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 126, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_mouse_down", + "full_name": "", + "start_line": 136, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_mouse_up", + "full_name": "", + "start_line": 151, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 152, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 153, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_mouse_move", + "full_name": "", + "start_line": 165, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 167, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_mouse_click", + "full_name": "", + "start_line": 179, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 180, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 181, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_touch_start", + "full_name": "", + "start_line": 193, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 194, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_key_down", + "full_name": "", + "start_line": 207, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 209, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_mouse_down", + "full_name": "", + "start_line": 221, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_mouse_up", + "full_name": "", + "start_line": 226, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_mouse_move", + "full_name": "", + "start_line": 231, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_mouse_click", + "full_name": "", + "start_line": 236, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_touch_start", + "full_name": "", + "start_line": 241, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_key_down", + "full_name": "", + "start_line": 246, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CanvasEventBox", + "full_name": "", + "start_line": 251, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 252, + "end_line": 254, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 256, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 260, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 264, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 268, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CanvasEventBox", + "full_name": "", + "start_line": 273, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 274, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 279, + "end_line": 281, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 283, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 287, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 291, + "end_line": 297, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 292, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CanvasEventBox", + "full_name": "", + "start_line": 300, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 301, + "end_line": 303, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 59, + "max_depth": 8, + "node_type_counts": { + "class": 5, + "file_root": 1, + "variable": 12, + "function": 29, + "import": 4, + "if_statement": 8 + }, + "classes": 5, + "functions": 29, + "methods": 0, + "variables": 12, + "control_structures": 8 + }, + "generated_at": "2025-08-15T16:19:40.593579139Z" + }, + { + "file_info": { + "name": "canvas_loop_box.rs", + "path": "src/boxes/canvas_loop_box.rs", + "size_bytes": 0, + "total_lines": 314, + "code_lines": 201, + "comment_lines": 68, + "empty_lines": 45, + "code_ratio": 0.6401273885350318, + "analyzed_at": "2025-08-15T16:19:40.593044492Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "CanvasLoopBox", + "parent_class": null, + "start_line": 59, + "end_line": 72, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "CanvasLoopBox", + "parent_class": null, + "start_line": 74, + "end_line": 259, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "CanvasLoopBox", + "parent_class": null, + "start_line": 261, + "end_line": 281, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "CanvasLoopBox", + "parent_class": null, + "start_line": 283, + "end_line": 308, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "CanvasLoopBox", + "parent_class": null, + "start_line": 310, + "end_line": 314, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 75, + "end_line": 93, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "start", + "start_line": 97, + "end_line": 118, + "parameters": [ + "&mut self", + "callback" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 109, + "end_line": 112, + "parameters": [ + "time: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "start", + "start_line": 122, + "end_line": 125, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "stop", + "start_line": 128, + "end_line": 143, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "pause", + "start_line": 146, + "end_line": 160, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "resume", + "start_line": 164, + "end_line": 180, + "parameters": [ + "&mut self", + "callback" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 172, + "end_line": 174, + "parameters": [ + "time: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "resume", + "start_line": 183, + "end_line": 186, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "update_frame", + "start_line": 189, + "end_line": 205, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_fps", + "start_line": 208, + "end_line": 210, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_frame_count", + "start_line": 213, + "end_line": 215, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_delta_time", + "start_line": 218, + "end_line": 220, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_elapsed_time", + "start_line": 223, + "end_line": 229, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_target_fps", + "start_line": 232, + "end_line": 238, + "parameters": [ + "&mut self", + "fps: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_running", + "start_line": 241, + "end_line": 243, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_paused", + "start_line": 246, + "end_line": 248, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "reset", + "start_line": 251, + "end_line": 258, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 262, + "end_line": 264, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 266, + "end_line": 268, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 270, + "end_line": 272, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 274, + "end_line": 276, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 278, + "end_line": 280, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 284, + "end_line": 286, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 289, + "end_line": 291, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 293, + "end_line": 295, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 297, + "end_line": 299, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 301, + "end_line": 307, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 311, + "end_line": 313, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 50, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::TimerBox", + "imported_names": [], + "alias": null, + "line_number": 51, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 52, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm_bindgen::prelude::*", + "imported_names": [], + "alias": null, + "line_number": 55, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 29, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 50, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CanvasLoopBox", + "full_name": "", + "start_line": 59, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CanvasLoopBox", + "full_name": "", + "start_line": 74, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 75, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 76, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "start", + "full_name": "", + "start_line": 97, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 98, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "start", + "full_name": "", + "start_line": 122, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stop", + "full_name": "", + "start_line": 128, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 129, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "pause", + "full_name": "", + "start_line": 146, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 155, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resume", + "full_name": "", + "start_line": 164, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 172, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 176, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resume", + "full_name": "", + "start_line": 183, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "update_frame", + "full_name": "", + "start_line": 189, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 190, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 194, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_fps", + "full_name": "", + "start_line": 208, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_frame_count", + "full_name": "", + "start_line": 213, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_delta_time", + "full_name": "", + "start_line": 218, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_elapsed_time", + "full_name": "", + "start_line": 223, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_target_fps", + "full_name": "", + "start_line": 232, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 233, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_running", + "full_name": "", + "start_line": 241, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_paused", + "full_name": "", + "start_line": 246, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "reset", + "full_name": "", + "start_line": 251, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 252, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CanvasLoopBox", + "full_name": "", + "start_line": 261, + "end_line": 281, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 262, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 266, + "end_line": 268, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 270, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 274, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 278, + "end_line": 280, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CanvasLoopBox", + "full_name": "", + "start_line": 283, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 284, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 289, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 293, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 297, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 301, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 302, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CanvasLoopBox", + "full_name": "", + "start_line": 310, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 311, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 57, + "max_depth": 8, + "node_type_counts": { + "file_root": 1, + "import": 4, + "class": 5, + "variable": 9, + "if_statement": 11, + "function": 27 + }, + "classes": 5, + "functions": 27, + "methods": 0, + "variables": 9, + "control_structures": 11 + }, + "generated_at": "2025-08-15T16:19:40.593061036Z" + }, + { + "file_info": { + "name": "console_box.rs", + "path": "src/boxes/console_box.rs", + "size_bytes": 0, + "total_lines": 227, + "code_lines": 133, + "comment_lines": 56, + "empty_lines": 38, + "code_ratio": 0.5859030837004405, + "analyzed_at": "2025-08-15T16:19:40.592494373Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ConsoleBox", + "parent_class": null, + "start_line": 55, + "end_line": 57, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "ConsoleBox", + "parent_class": null, + "start_line": 60, + "end_line": 84, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ConsoleBox", + "parent_class": null, + "start_line": 87, + "end_line": 107, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "ConsoleBox", + "parent_class": null, + "start_line": 110, + "end_line": 132, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "ConsoleBox", + "parent_class": null, + "start_line": 137, + "end_line": 139, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "ConsoleBox", + "parent_class": null, + "start_line": 142, + "end_line": 163, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ConsoleBox", + "parent_class": null, + "start_line": 166, + "end_line": 186, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "ConsoleBox", + "parent_class": null, + "start_line": 189, + "end_line": 211, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "ConsoleBox", + "parent_class": null, + "start_line": 216, + "end_line": 220, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "ConsoleBox", + "parent_class": null, + "start_line": 223, + "end_line": 227, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 61, + "end_line": 63, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "log", + "start_line": 66, + "end_line": 68, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "warn", + "start_line": 71, + "end_line": 73, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "error", + "start_line": 76, + "end_line": 78, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear", + "start_line": 81, + "end_line": 83, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 88, + "end_line": 90, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 92, + "end_line": 94, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 96, + "end_line": 98, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 100, + "end_line": 102, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 104, + "end_line": 106, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 111, + "end_line": 113, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 115, + "end_line": 117, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 119, + "end_line": 121, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 123, + "end_line": 125, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 128, + "end_line": 130, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 143, + "end_line": 145, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "log", + "start_line": 148, + "end_line": 150, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "warn", + "start_line": 152, + "end_line": 154, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "error", + "start_line": 156, + "end_line": 158, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear", + "start_line": 160, + "end_line": 162, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 167, + "end_line": 169, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 171, + "end_line": 173, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 175, + "end_line": 177, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 179, + "end_line": 181, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 183, + "end_line": 185, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 190, + "end_line": 192, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 194, + "end_line": 196, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 198, + "end_line": 200, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 202, + "end_line": 204, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 207, + "end_line": 209, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 217, + "end_line": 219, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 224, + "end_line": 226, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 48, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 49, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::Display", + "imported_names": [], + "alias": null, + "line_number": 50, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 10, + "function_count": 32, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 50, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 55, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 60, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 61, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "log", + "full_name": "", + "start_line": 66, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "warn", + "full_name": "", + "start_line": 71, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "error", + "full_name": "", + "start_line": 76, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear", + "full_name": "", + "start_line": 81, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 87, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 88, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 92, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 96, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 100, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 104, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 110, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 111, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 115, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 119, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 123, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 128, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 137, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 142, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 143, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "log", + "full_name": "", + "start_line": 148, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "warn", + "full_name": "", + "start_line": 152, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "error", + "full_name": "", + "start_line": 156, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear", + "full_name": "", + "start_line": 160, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 166, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 167, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 171, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 175, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 179, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 183, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 189, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 190, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 194, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 198, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 202, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 207, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 216, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 217, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConsoleBox", + "full_name": "", + "start_line": 223, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 224, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 46, + "max_depth": 3, + "node_type_counts": { + "import": 3, + "class": 10, + "function": 32, + "file_root": 1 + }, + "classes": 10, + "functions": 32, + "methods": 0, + "variables": 0, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.592507082Z" + }, + { + "file_info": { + "name": "debug_box.rs", + "path": "src/boxes/debug_box.rs", + "size_bytes": 0, + "total_lines": 389, + "code_lines": 224, + "comment_lines": 113, + "empty_lines": 52, + "code_ratio": 0.5758354755784062, + "analyzed_at": "2025-08-15T16:19:40.592303269Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "DebugBox", + "parent_class": null, + "start_line": 111, + "end_line": 117, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "TrackedBoxInfo", + "parent_class": null, + "start_line": 120, + "end_line": 125, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct" + } + }, + { + "name": "CallInfo", + "parent_class": null, + "start_line": 128, + "end_line": 132, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct" + } + }, + { + "name": "DebugBox", + "parent_class": null, + "start_line": 134, + "end_line": 309, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "DebugBox", + "parent_class": null, + "start_line": 312, + "end_line": 327, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "DebugBox", + "parent_class": null, + "start_line": 330, + "end_line": 351, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "DebugBox", + "parent_class": null, + "start_line": 354, + "end_line": 358, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + }, + { + "name": "DebugBox", + "parent_class": null, + "start_line": 361, + "end_line": 389, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 135, + "end_line": 143, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "start_tracking", + "start_line": 145, + "end_line": 150, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "stop_tracking", + "start_line": 152, + "end_line": 157, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "track_box", + "start_line": 159, + "end_line": 177, + "parameters": [ + "&self", + "box_value: &dyn NyashBox", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_box_fields", + "start_line": 179, + "end_line": 188, + "parameters": [ + "&self", + "box_value: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "dump_all", + "start_line": 190, + "end_line": 206, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "save_to_file", + "start_line": 208, + "end_line": 220, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 214, + "end_line": 216, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "watch", + "start_line": 222, + "end_line": 228, + "parameters": [ + "&self", + "box_value: &dyn NyashBox", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "memory_report", + "start_line": 230, + "end_line": 247, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_breakpoint", + "start_line": 250, + "end_line": 255, + "parameters": [ + "&self", + "function_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "trace_call", + "start_line": 257, + "end_line": 271, + "parameters": [ + "&self", + "function_name: &str", + "args" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "show_call_stack", + "start_line": 273, + "end_line": 287, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear", + "start_line": 289, + "end_line": 298, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_tracking", + "start_line": 300, + "end_line": 303, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_tracked_count", + "start_line": 305, + "end_line": 308, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clone", + "start_line": 313, + "end_line": 326, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 331, + "end_line": 333, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 335, + "end_line": 337, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 339, + "end_line": 342, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 344, + "end_line": 346, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 348, + "end_line": 350, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 355, + "end_line": 357, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 362, + "end_line": 365, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 367, + "end_line": 373, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 375, + "end_line": 377, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 379, + "end_line": 381, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 384, + "end_line": 386, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 102, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 103, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "chrono::Local", + "imported_names": [], + "alias": null, + "line_number": 104, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{BoxCore, BoxBase, NyashBox, StringBox, BoolBox, VoidBox}", + "imported_names": [], + "alias": null, + "line_number": 105, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::interpreter::RuntimeError", + "imported_names": [], + "alias": null, + "line_number": 106, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::instance::InstanceBox", + "imported_names": [], + "alias": null, + "line_number": 107, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 108, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 8, + "function_count": 28, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DebugBox", + "full_name": "", + "start_line": 111, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TrackedBoxInfo", + "full_name": "", + "start_line": 120, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CallInfo", + "full_name": "", + "start_line": 128, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DebugBox", + "full_name": "", + "start_line": 134, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 135, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "start_tracking", + "full_name": "", + "start_line": 145, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stop_tracking", + "full_name": "", + "start_line": 152, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 153, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "track_box", + "full_name": "", + "start_line": 159, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 167, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_box_fields", + "full_name": "", + "start_line": 179, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 181, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 182, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 183, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dump_all", + "full_name": "", + "start_line": 190, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 191, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "save_to_file", + "full_name": "", + "start_line": 208, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 209, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 210, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "watch", + "full_name": "", + "start_line": 222, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "memory_report", + "full_name": "", + "start_line": 230, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap", + "full_name": "", + "start_line": 236, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 237, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 242, + "end_line": 244, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_breakpoint", + "full_name": "", + "start_line": 250, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "trace_call", + "full_name": "", + "start_line": 257, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 258, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 266, + "end_line": 268, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "show_call_stack", + "full_name": "", + "start_line": 273, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 274, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 275, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 277, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear", + "full_name": "", + "start_line": 289, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 290, + "end_line": 290, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 293, + "end_line": 293, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_tracking", + "full_name": "", + "start_line": 300, + "end_line": 303, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 301, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_tracked_count", + "full_name": "", + "start_line": 305, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 306, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DebugBox", + "full_name": "", + "start_line": 312, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 313, + "end_line": 326, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 314, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 315, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DebugBox", + "full_name": "", + "start_line": 330, + "end_line": 351, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 331, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 335, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 339, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 340, + "end_line": 340, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 344, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 348, + "end_line": 350, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DebugBox", + "full_name": "", + "start_line": 354, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 355, + "end_line": 357, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DebugBox", + "full_name": "", + "start_line": 361, + "end_line": 389, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 362, + "end_line": 365, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 363, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 367, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 368, + "end_line": 372, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 375, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 379, + "end_line": 381, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 384, + "end_line": 386, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 81, + "max_depth": 8, + "node_type_counts": { + "variable": 30, + "if_statement": 4, + "import": 7, + "class": 8, + "for_loop": 4, + "function": 27, + "file_root": 1 + }, + "classes": 8, + "functions": 27, + "methods": 0, + "variables": 30, + "control_structures": 8 + }, + "generated_at": "2025-08-15T16:19:40.592326569Z" + }, + { + "file_info": { + "name": "egui_box.rs", + "path": "src/boxes/egui_box.rs", + "size_bytes": 0, + "total_lines": 238, + "code_lines": 153, + "comment_lines": 53, + "empty_lines": 32, + "code_ratio": 0.6428571428571429, + "analyzed_at": "2025-08-15T16:19:40.592343537Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "EguiBox", + "parent_class": null, + "start_line": 51, + "end_line": 57, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "EguiBox", + "parent_class": null, + "start_line": 59, + "end_line": 66, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Debug", + "type": "impl" + } + }, + { + "name": "EguiBox", + "parent_class": null, + "start_line": 68, + "end_line": 80, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "EguiBox", + "parent_class": null, + "start_line": 82, + "end_line": 105, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "NyashApp", + "parent_class": null, + "start_line": 108, + "end_line": 111, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct" + } + }, + { + "name": "NyashApp", + "parent_class": null, + "start_line": 113, + "end_line": 119, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "eframe::App" + } + }, + { + "name": "EguiBox", + "parent_class": null, + "start_line": 121, + "end_line": 141, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "EguiBox", + "parent_class": null, + "start_line": 143, + "end_line": 147, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + }, + { + "name": "EguiBox", + "parent_class": null, + "start_line": 149, + "end_line": 178, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "EguiBox", + "parent_class": null, + "start_line": 181, + "end_line": 219, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "fmt", + "start_line": 60, + "end_line": 65, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone", + "start_line": 69, + "end_line": 79, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 83, + "end_line": 91, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_app_state", + "start_line": 94, + "end_line": 96, + "parameters": [ + "&mut self", + "state: T" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_update_fn", + "start_line": 99, + "end_line": 104, + "parameters": [ + "&mut self", + "f: F" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "update", + "start_line": 114, + "end_line": 118, + "parameters": [ + "&mut self", + "ctx: &egui::Context", + "_frame: &mut eframe::Frame" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 122, + "end_line": 124, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 126, + "end_line": 128, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 130, + "end_line": 132, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 134, + "end_line": 136, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 138, + "end_line": 140, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 144, + "end_line": 146, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 150, + "end_line": 154, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 156, + "end_line": 158, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 161, + "end_line": 163, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 166, + "end_line": 172, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 174, + "end_line": 176, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "run_gui", + "start_line": 182, + "end_line": 218, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 209, + "end_line": 209, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_egui_box_creation", + "start_line": 226, + "end_line": 230, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_egui_box_to_string", + "start_line": 233, + "end_line": 237, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 36, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::interpreter::RuntimeError", + "imported_names": [], + "alias": null, + "line_number": 37, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 38, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 39, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "eframe::{self, epaint::Vec2}", + "imported_names": [], + "alias": null, + "line_number": 40, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 223, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 10, + "function_count": 21, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 38, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EguiBox", + "full_name": "", + "start_line": 51, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EguiBox", + "full_name": "", + "start_line": 59, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 60, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EguiBox", + "full_name": "", + "start_line": 68, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 69, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EguiBox", + "full_name": "", + "start_line": 82, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 83, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_app_state", + "full_name": "", + "start_line": 94, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_update_fn", + "full_name": "", + "start_line": 99, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashApp", + "full_name": "", + "start_line": 108, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashApp", + "full_name": "", + "start_line": 113, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "update", + "full_name": "", + "start_line": 114, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EguiBox", + "full_name": "", + "start_line": 121, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 122, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 126, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 130, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 134, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 138, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EguiBox", + "full_name": "", + "start_line": 143, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 144, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EguiBox", + "full_name": "", + "start_line": 149, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 150, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 156, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 161, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 166, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 167, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 174, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EguiBox", + "full_name": "", + "start_line": 181, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run_gui", + "full_name": "", + "start_line": 182, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 191, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_egui_box_creation", + "full_name": "", + "start_line": 226, + "end_line": 230, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 227, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_egui_box_to_string", + "full_name": "", + "start_line": 233, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 235, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 49, + "max_depth": 8, + "node_type_counts": { + "if_statement": 3, + "file_root": 1, + "variable": 9, + "function": 20, + "import": 6, + "class": 10 + }, + "classes": 10, + "functions": 20, + "methods": 0, + "variables": 9, + "control_structures": 3 + }, + "generated_at": "2025-08-15T16:19:40.592360254Z" + }, + { + "file_info": { + "name": "extern_box.rs", + "path": "src/boxes/extern_box.rs", + "size_bytes": 0, + "total_lines": 148, + "code_lines": 123, + "comment_lines": 5, + "empty_lines": 20, + "code_ratio": 0.831081081081081, + "analyzed_at": "2025-08-15T16:19:40.592281359Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ExternBox", + "parent_class": null, + "start_line": 9, + "end_line": 12, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ExternBox", + "parent_class": null, + "start_line": 14, + "end_line": 28, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ExternBox", + "parent_class": null, + "start_line": 30, + "end_line": 50, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "ExternBox", + "parent_class": null, + "start_line": 52, + "end_line": 148, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + } + ], + "functions": [ + { + "name": "new_console", + "start_line": 15, + "end_line": 20, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new_canvas", + "start_line": 22, + "end_line": 27, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 31, + "end_line": 33, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 35, + "end_line": 37, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 39, + "end_line": 41, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 43, + "end_line": 45, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 47, + "end_line": 49, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 53, + "end_line": 55, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 57, + "end_line": 63, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 65, + "end_line": 67, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 69, + "end_line": 74, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 76, + "end_line": 79, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "call_method", + "start_line": 81, + "end_line": 127, + "parameters": [ + "&mut self", + "method: &str", + "args" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "get_field", + "start_line": 129, + "end_line": 131, + "parameters": [ + "&self", + "_field: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "set_field", + "start_line": 133, + "end_line": 135, + "parameters": [ + "&mut self", + "_field: &str", + "_value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "list_methods", + "start_line": 137, + "end_line": 143, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "list_fields", + "start_line": 145, + "end_line": 147, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, VoidBox, IntegerBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 5, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 6, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 17, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 5, + "end_line": 5, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 6, + "end_line": 6, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExternBox", + "full_name": "", + "start_line": 9, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExternBox", + "full_name": "", + "start_line": 14, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_console", + "full_name": "", + "start_line": 15, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_canvas", + "full_name": "", + "start_line": 22, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExternBox", + "full_name": "", + "start_line": 30, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 31, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 35, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 39, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 43, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 47, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ExternBox", + "full_name": "", + "start_line": 52, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 53, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 57, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 65, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 69, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 76, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "call_method", + "full_name": "", + "start_line": 81, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field", + "full_name": "", + "start_line": 129, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_field", + "full_name": "", + "start_line": 133, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "list_methods", + "full_name": "", + "start_line": 137, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "list_fields", + "full_name": "", + "start_line": 145, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 29, + "max_depth": 14, + "node_type_counts": { + "file_root": 1, + "if_statement": 4, + "import": 2, + "function": 17, + "for_loop": 1, + "class": 4 + }, + "classes": 4, + "functions": 17, + "methods": 0, + "variables": 0, + "control_structures": 5 + }, + "generated_at": "2025-08-15T16:19:40.592290168Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/file/mod.rs", + "size_bytes": 0, + "total_lines": 172, + "code_lines": 132, + "comment_lines": 15, + "empty_lines": 25, + "code_ratio": 0.7674418604651163, + "analyzed_at": "2025-08-15T16:19:40.603976997Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "FileBox", + "parent_class": null, + "start_line": 12, + "end_line": 16, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 18, + "end_line": 29, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 31, + "end_line": 111, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 113, + "end_line": 133, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 135, + "end_line": 166, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 168, + "end_line": 172, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 19, + "end_line": 28, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 32, + "end_line": 50, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 42, + "end_line": 42, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "open", + "start_line": 52, + "end_line": 59, + "parameters": [ + "path: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "read_to_string", + "start_line": 61, + "end_line": 66, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "write_all", + "start_line": 68, + "end_line": 71, + "parameters": [ + "&self", + "buf: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "read", + "start_line": 74, + "end_line": 79, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "write", + "start_line": 82, + "end_line": 88, + "parameters": [ + "&self", + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "exists", + "start_line": 91, + "end_line": 94, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "delete", + "start_line": 97, + "end_line": 102, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "copy", + "start_line": 105, + "end_line": 110, + "parameters": [ + "&self", + "dest: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 114, + "end_line": 116, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 118, + "end_line": 120, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 122, + "end_line": 124, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 126, + "end_line": 128, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 130, + "end_line": 132, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 136, + "end_line": 142, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 145, + "end_line": 147, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 149, + "end_line": 151, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 154, + "end_line": 156, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 159, + "end_line": 165, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 169, + "end_line": 171, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 5, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 6, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fs::{File, OpenOptions}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::io::{Read, Write, Result}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fs::OpenOptions", + "imported_names": [], + "alias": null, + "line_number": 40, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::path::Path", + "imported_names": [], + "alias": null, + "line_number": 92, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 6, + "function_count": 22, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 5, + "end_line": 5, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 6, + "end_line": 6, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 12, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 18, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 19, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 31, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 32, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 35, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 41, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "open", + "full_name": "", + "start_line": 52, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read_to_string", + "full_name": "", + "start_line": 61, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "write_all", + "full_name": "", + "start_line": 68, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read", + "full_name": "", + "start_line": 74, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "write", + "full_name": "", + "start_line": 82, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 83, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "exists", + "full_name": "", + "start_line": 91, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "delete", + "full_name": "", + "start_line": 97, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "copy", + "full_name": "", + "start_line": 105, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 113, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 114, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 118, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 122, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 126, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 130, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 135, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 136, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 145, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 149, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 154, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 159, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 168, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 169, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 43, + "max_depth": 10, + "node_type_counts": { + "if_statement": 1, + "file_root": 1, + "variable": 7, + "import": 7, + "class": 6, + "function": 21 + }, + "classes": 6, + "functions": 21, + "methods": 0, + "variables": 7, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.603986914Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/future/mod.rs", + "size_bytes": 0, + "total_lines": 159, + "code_lines": 122, + "comment_lines": 13, + "empty_lines": 24, + "code_ratio": 0.7672955974842768, + "analyzed_at": "2025-08-15T16:19:40.612325044Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashFutureBox", + "parent_class": null, + "start_line": 12, + "end_line": 16, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "NyashFutureBox", + "parent_class": null, + "start_line": 18, + "end_line": 33, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "NyashFutureBox", + "parent_class": null, + "start_line": 35, + "end_line": 72, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "NyashFutureBox", + "parent_class": null, + "start_line": 74, + "end_line": 111, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "NyashFutureBox", + "parent_class": null, + "start_line": 113, + "end_line": 143, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "NyashFutureBox", + "parent_class": null, + "start_line": 145, + "end_line": 149, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + }, + { + "name": "FutureBox", + "parent_class": null, + "start_line": 154, + "end_line": 159, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 19, + "end_line": 32, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 36, + "end_line": 42, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_result", + "start_line": 45, + "end_line": 50, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get", + "start_line": 53, + "end_line": 66, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "ready", + "start_line": 69, + "end_line": 71, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone_box", + "start_line": 75, + "end_line": 77, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 80, + "end_line": 82, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 84, + "end_line": 96, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 99, + "end_line": 101, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 104, + "end_line": 110, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 114, + "end_line": 116, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 118, + "end_line": 120, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 122, + "end_line": 134, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 136, + "end_line": 138, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 140, + "end_line": 142, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 146, + "end_line": 148, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "wait_and_get", + "start_line": 156, + "end_line": 158, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 5, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 6, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::future::Future", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::pin::Pin", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 17, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 5, + "end_line": 5, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 6, + "end_line": 6, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashFutureBox", + "full_name": "", + "start_line": 12, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashFutureBox", + "full_name": "", + "start_line": 18, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 19, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 21, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 25, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashFutureBox", + "full_name": "", + "start_line": 35, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 36, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_result", + "full_name": "", + "start_line": 45, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get", + "full_name": "", + "start_line": 53, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 56, + "end_line": 56, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ready", + "full_name": "", + "start_line": 69, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashFutureBox", + "full_name": "", + "start_line": 74, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 75, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 80, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 84, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 99, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 104, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashFutureBox", + "full_name": "", + "start_line": 113, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 114, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 118, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 122, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 124, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 126, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 136, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashFutureBox", + "full_name": "", + "start_line": 145, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 146, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FutureBox", + "full_name": "", + "start_line": 154, + "end_line": 159, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "wait_and_get", + "full_name": "", + "start_line": 156, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 48, + "max_depth": 9, + "node_type_counts": { + "if_statement": 6, + "function": 17, + "file_root": 1, + "for_loop": 1, + "class": 7, + "import": 5, + "variable": 11 + }, + "classes": 7, + "functions": 17, + "methods": 0, + "variables": 11, + "control_structures": 7 + }, + "generated_at": "2025-08-15T16:19:40.612333680Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/http/mod.rs", + "size_bytes": 0, + "total_lines": 105, + "code_lines": 72, + "comment_lines": 12, + "empty_lines": 21, + "code_ratio": 0.6857142857142857, + "analyzed_at": "2025-08-15T16:19:40.606754219Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "HttpClientBox", + "parent_class": null, + "start_line": 13, + "end_line": 15, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "HttpClientBox", + "parent_class": null, + "start_line": 17, + "end_line": 48, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "HttpClientBox", + "parent_class": null, + "start_line": 50, + "end_line": 77, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "HttpClientBox", + "parent_class": null, + "start_line": 79, + "end_line": 99, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "HttpClientBox", + "parent_class": null, + "start_line": 101, + "end_line": 105, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 18, + "end_line": 22, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "http_get", + "start_line": 25, + "end_line": 27, + "parameters": [ + "&self", + "url" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "post", + "start_line": 30, + "end_line": 32, + "parameters": [ + "&self", + "url", + "body" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "put", + "start_line": 35, + "end_line": 37, + "parameters": [ + "&self", + "url", + "body" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "delete", + "start_line": 40, + "end_line": 42, + "parameters": [ + "&self", + "url" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "request", + "start_line": 45, + "end_line": 47, + "parameters": [ + "&self", + "method", + "url", + "options" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 51, + "end_line": 53, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 56, + "end_line": 58, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 60, + "end_line": 62, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 65, + "end_line": 67, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 70, + "end_line": 76, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 80, + "end_line": 82, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 84, + "end_line": 86, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 88, + "end_line": 90, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 92, + "end_line": 94, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 96, + "end_line": 98, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 102, + "end_line": 104, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::map_box::MapBox", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 17, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HttpClientBox", + "full_name": "", + "start_line": 13, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HttpClientBox", + "full_name": "", + "start_line": 17, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 18, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "http_get", + "full_name": "", + "start_line": 25, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "post", + "full_name": "", + "start_line": 30, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "put", + "full_name": "", + "start_line": 35, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "delete", + "full_name": "", + "start_line": 40, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "request", + "full_name": "", + "start_line": 45, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HttpClientBox", + "full_name": "", + "start_line": 50, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 51, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 56, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 60, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 65, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 70, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HttpClientBox", + "full_name": "", + "start_line": 79, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 80, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 84, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 88, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 92, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 96, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HttpClientBox", + "full_name": "", + "start_line": 101, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 102, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 27, + "max_depth": 6, + "node_type_counts": { + "function": 17, + "import": 3, + "if_statement": 1, + "class": 5, + "file_root": 1 + }, + "classes": 5, + "functions": 17, + "methods": 0, + "variables": 0, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.606759715Z" + }, + { + "file_info": { + "name": "http_message_box.rs", + "path": "src/boxes/http_message_box.rs", + "size_bytes": 0, + "total_lines": 432, + "code_lines": 281, + "comment_lines": 87, + "empty_lines": 64, + "code_ratio": 0.6504629629629629, + "analyzed_at": "2025-08-15T16:19:40.592334249Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "HTTPRequestBox", + "parent_class": null, + "start_line": 58, + "end_line": 66, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "HTTPRequestBox", + "parent_class": null, + "start_line": 68, + "end_line": 192, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "HTTPRequestBox", + "parent_class": null, + "start_line": 194, + "end_line": 220, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "HTTPRequestBox", + "parent_class": null, + "start_line": 222, + "end_line": 243, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "HTTPRequestBox", + "parent_class": null, + "start_line": 245, + "end_line": 249, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + }, + { + "name": "HTTPResponseBox", + "parent_class": null, + "start_line": 253, + "end_line": 260, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "HTTPResponseBox", + "parent_class": null, + "start_line": 262, + "end_line": 375, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "HTTPResponseBox", + "parent_class": null, + "start_line": 377, + "end_line": 403, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "HTTPResponseBox", + "parent_class": null, + "start_line": 405, + "end_line": 426, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "HTTPResponseBox", + "parent_class": null, + "start_line": 428, + "end_line": 432, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 69, + "end_line": 79, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "parse", + "start_line": 82, + "end_line": 127, + "parameters": [ + "raw_request" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_method", + "start_line": 130, + "end_line": 132, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_path", + "start_line": 135, + "end_line": 137, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_query_string", + "start_line": 140, + "end_line": 142, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_header", + "start_line": 145, + "end_line": 151, + "parameters": [ + "&self", + "name" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_all_headers", + "start_line": 154, + "end_line": 162, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "has_header", + "start_line": 165, + "end_line": 168, + "parameters": [ + "&self", + "name" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_body", + "start_line": 171, + "end_line": 173, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_content_type", + "start_line": 176, + "end_line": 178, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_content_length", + "start_line": 181, + "end_line": 191, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 195, + "end_line": 197, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 200, + "end_line": 202, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 204, + "end_line": 207, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 209, + "end_line": 211, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 213, + "end_line": 219, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 223, + "end_line": 225, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 227, + "end_line": 229, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 231, + "end_line": 234, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 236, + "end_line": 238, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 240, + "end_line": 242, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 246, + "end_line": 248, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 263, + "end_line": 272, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_status", + "start_line": 275, + "end_line": 283, + "parameters": [ + "&self", + "code", + "message" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_header", + "start_line": 286, + "end_line": 292, + "parameters": [ + "&self", + "name", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_content_type", + "start_line": 295, + "end_line": 301, + "parameters": [ + "&self", + "content_type" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_body", + "start_line": 304, + "end_line": 309, + "parameters": [ + "&self", + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "append_body", + "start_line": 312, + "end_line": 317, + "parameters": [ + "&self", + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "to_http_string", + "start_line": 320, + "end_line": 344, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "create_html_response", + "start_line": 347, + "end_line": 354, + "parameters": [ + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "create_json_response", + "start_line": 357, + "end_line": 364, + "parameters": [ + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "create_404_response", + "start_line": 367, + "end_line": 374, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone_box", + "start_line": 378, + "end_line": 380, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 383, + "end_line": 385, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 387, + "end_line": 390, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 392, + "end_line": 394, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 396, + "end_line": 402, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 406, + "end_line": 408, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 410, + "end_line": 412, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 414, + "end_line": 417, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 419, + "end_line": 421, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 423, + "end_line": 425, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 429, + "end_line": 431, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 51, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::MapBox", + "imported_names": [], + "alias": null, + "line_number": 52, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 53, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 54, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 10, + "function_count": 43, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPRequestBox", + "full_name": "", + "start_line": 58, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPRequestBox", + "full_name": "", + "start_line": 68, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 69, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse", + "full_name": "", + "start_line": 82, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 83, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<&str>", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<&str>", + "full_name": "", + "start_line": 92, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<&str>", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_method", + "full_name": "", + "start_line": 130, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_path", + "full_name": "", + "start_line": 135, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_query_string", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_header", + "full_name": "", + "start_line": 145, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_all_headers", + "full_name": "", + "start_line": 154, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 155, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 157, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 158, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "has_header", + "full_name": "", + "start_line": 165, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_body", + "full_name": "", + "start_line": 171, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_content_type", + "full_name": "", + "start_line": 176, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_content_length", + "full_name": "", + "start_line": 181, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPRequestBox", + "full_name": "", + "start_line": 194, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 195, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 200, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 204, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 209, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 213, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPRequestBox", + "full_name": "", + "start_line": 222, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 223, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 227, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 231, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 236, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 240, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPRequestBox", + "full_name": "", + "start_line": 245, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 246, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPResponseBox", + "full_name": "", + "start_line": 253, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPResponseBox", + "full_name": "", + "start_line": 262, + "end_line": 375, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 263, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_status", + "full_name": "", + "start_line": 275, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 278, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 279, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_header", + "full_name": "", + "start_line": 286, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 287, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 288, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_content_type", + "full_name": "", + "start_line": 295, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 296, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_body", + "full_name": "", + "start_line": 304, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "append_body", + "full_name": "", + "start_line": 312, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 313, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_http_string", + "full_name": "", + "start_line": 320, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 321, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 333, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_html_response", + "full_name": "", + "start_line": 347, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_json_response", + "full_name": "", + "start_line": 357, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 358, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_404_response", + "full_name": "", + "start_line": 367, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 368, + "end_line": 368, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPResponseBox", + "full_name": "", + "start_line": 377, + "end_line": 403, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 378, + "end_line": 380, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 383, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 387, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 392, + "end_line": 394, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 396, + "end_line": 402, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 397, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPResponseBox", + "full_name": "", + "start_line": 405, + "end_line": 426, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 406, + "end_line": 408, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 410, + "end_line": 412, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 414, + "end_line": 417, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 419, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 423, + "end_line": 425, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPResponseBox", + "full_name": "", + "start_line": 428, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 429, + "end_line": 431, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 94, + "max_depth": 11, + "node_type_counts": { + "function": 43, + "import": 4, + "if_statement": 9, + "for_loop": 3, + "variable": 24, + "class": 10, + "file_root": 1 + }, + "classes": 10, + "functions": 43, + "methods": 0, + "variables": 24, + "control_structures": 12 + }, + "generated_at": "2025-08-15T16:19:40.592358287Z" + }, + { + "file_info": { + "name": "http_server_box.rs", + "path": "src/boxes/http_server_box.rs", + "size_bytes": 0, + "total_lines": 439, + "code_lines": 285, + "comment_lines": 89, + "empty_lines": 65, + "code_ratio": 0.6492027334851936, + "analyzed_at": "2025-08-15T16:19:40.597352836Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 53, + "end_line": 62, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 64, + "end_line": 100, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 102, + "end_line": 364, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 366, + "end_line": 398, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 400, + "end_line": 425, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 427, + "end_line": 431, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + }, + { + "name": "HTTPServerBox", + "parent_class": null, + "start_line": 434, + "end_line": 439, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Drop" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 65, + "end_line": 99, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 68, + "end_line": 68, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 72, + "end_line": 72, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 77, + "end_line": 77, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 86, + "end_line": 86, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "new", + "start_line": 103, + "end_line": 114, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "bind", + "start_line": 117, + "end_line": 134, + "parameters": [ + "&self", + "address", + "port" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "listen", + "start_line": 137, + "end_line": 154, + "parameters": [ + "&self", + "backlog" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "start", + "start_line": 157, + "end_line": 224, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 207, + "end_line": 207, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 214, + "end_line": 217, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "stop", + "start_line": 227, + "end_line": 246, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "route", + "start_line": 249, + "end_line": 255, + "parameters": [ + "&self", + "path", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get", + "start_line": 258, + "end_line": 264, + "parameters": [ + "&self", + "path", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "post", + "start_line": 267, + "end_line": 273, + "parameters": [ + "&self", + "path", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "put", + "start_line": 276, + "end_line": 282, + "parameters": [ + "&self", + "path", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "delete", + "start_line": 285, + "end_line": 291, + "parameters": [ + "&self", + "path", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_static_path", + "start_line": 294, + "end_line": 298, + "parameters": [ + "&self", + "path" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_timeout", + "start_line": 301, + "end_line": 305, + "parameters": [ + "&self", + "seconds" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "handle_client_request_with_routes", + "start_line": 308, + "end_line": 352, + "parameters": [ + "client_socket: SocketBox", + "routes" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "get_active_connections", + "start_line": 355, + "end_line": 358, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_running", + "start_line": 361, + "end_line": 363, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 367, + "end_line": 369, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 372, + "end_line": 374, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 376, + "end_line": 385, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 387, + "end_line": 389, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 391, + "end_line": 397, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 401, + "end_line": 403, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 405, + "end_line": 407, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 409, + "end_line": 416, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 418, + "end_line": 420, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 422, + "end_line": 424, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 428, + "end_line": 430, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "drop", + "start_line": 435, + "end_line": 438, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 43, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::SocketBox", + "imported_names": [], + "alias": null, + "line_number": 44, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::http_message_box::{HTTPRequestBox, HTTPResponseBox}", + "imported_names": [], + "alias": null, + "line_number": 45, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 46, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 47, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 48, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::thread", + "imported_names": [], + "alias": null, + "line_number": 49, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 34, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 47, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 53, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 64, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 65, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 70, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap>", + "full_name": "", + "start_line": 71, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec>", + "full_name": "", + "start_line": 76, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec>", + "full_name": "", + "start_line": 85, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 102, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 103, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "bind", + "full_name": "", + "start_line": 117, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 119, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "listen", + "full_name": "", + "start_line": 137, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "start", + "full_name": "", + "start_line": 157, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 177, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 198, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap>", + "full_name": "", + "start_line": 206, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stop", + "full_name": "", + "start_line": 227, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 233, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "route", + "full_name": "", + "start_line": 249, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 250, + "end_line": 250, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get", + "full_name": "", + "start_line": 258, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 259, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "post", + "full_name": "", + "start_line": 267, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 268, + "end_line": 268, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 269, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "put", + "full_name": "", + "start_line": 276, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 277, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 278, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "delete", + "full_name": "", + "start_line": 285, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 287, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_static_path", + "full_name": "", + "start_line": 294, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 295, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_timeout", + "full_name": "", + "start_line": 301, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 302, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "handle_client_request_with_routes", + "full_name": "", + "start_line": 308, + "end_line": 352, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 313, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 314, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 319, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 322, + "end_line": 322, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 323, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 324, + "end_line": 324, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 329, + "end_line": 329, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 330, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 332, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 332, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 338, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 349, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 350, + "end_line": 350, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 351, + "end_line": 351, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_active_connections", + "full_name": "", + "start_line": 355, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 356, + "end_line": 356, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_running", + "full_name": "", + "start_line": 361, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 366, + "end_line": 398, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 367, + "end_line": 369, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 372, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 376, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 377, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 378, + "end_line": 378, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 379, + "end_line": 379, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 387, + "end_line": 389, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 391, + "end_line": 397, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 392, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 400, + "end_line": 425, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 401, + "end_line": 403, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 405, + "end_line": 407, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 409, + "end_line": 416, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 410, + "end_line": 410, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 411, + "end_line": 411, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 412, + "end_line": 412, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 418, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 422, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 427, + "end_line": 431, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 428, + "end_line": 430, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "HTTPServerBox", + "full_name": "", + "start_line": 434, + "end_line": 439, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "drop", + "full_name": "", + "start_line": 435, + "end_line": 438, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 112, + "max_depth": 16, + "node_type_counts": { + "variable": 56, + "if_statement": 11, + "import": 7, + "for_loop": 2, + "file_root": 1, + "class": 7, + "function": 28 + }, + "classes": 7, + "functions": 28, + "methods": 0, + "variables": 56, + "control_structures": 13 + }, + "generated_at": "2025-08-15T16:19:40.597376929Z" + }, + { + "file_info": { + "name": "integer_box.rs", + "path": "src/boxes/integer_box.rs", + "size_bytes": 0, + "total_lines": 119, + "code_lines": 63, + "comment_lines": 40, + "empty_lines": 16, + "code_ratio": 0.5294117647058824, + "analyzed_at": "2025-08-15T16:19:40.597211156Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 46, + "end_line": 49, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 51, + "end_line": 62, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 64, + "end_line": 91, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 93, + "end_line": 113, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 115, + "end_line": 119, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 52, + "end_line": 57, + "parameters": [ + "value: i64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "zero", + "start_line": 59, + "end_line": 61, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "to_string_box", + "start_line": 65, + "end_line": 67, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 69, + "end_line": 76, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 78, + "end_line": 80, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 83, + "end_line": 85, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 88, + "end_line": 90, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 94, + "end_line": 96, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 98, + "end_line": 100, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 102, + "end_line": 104, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 106, + "end_line": 108, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 110, + "end_line": 112, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 116, + "end_line": 118, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 40, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 41, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::Display", + "imported_names": [], + "alias": null, + "line_number": 42, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::BoolBox", + "imported_names": [], + "alias": null, + "line_number": 70, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 13, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 46, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 51, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 52, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "zero", + "full_name": "", + "start_line": 59, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 64, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 65, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 69, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 70, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 78, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 83, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 88, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 93, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 94, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 98, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 102, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 106, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 110, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 115, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 116, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 24, + "max_depth": 6, + "node_type_counts": { + "if_statement": 1, + "class": 5, + "file_root": 1, + "import": 4, + "function": 13 + }, + "classes": 5, + "functions": 13, + "methods": 0, + "variables": 0, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.597217522Z" + }, + { + "file_info": { + "name": "intent_box.rs", + "path": "src/boxes/intent_box.rs", + "size_bytes": 0, + "total_lines": 154, + "code_lines": 92, + "comment_lines": 42, + "empty_lines": 20, + "code_ratio": 0.5974025974025974, + "analyzed_at": "2025-08-15T16:19:40.599052815Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "IntentBox", + "parent_class": null, + "start_line": 42, + "end_line": 48, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "IntentBox", + "parent_class": null, + "start_line": 50, + "end_line": 61, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "IntentBox", + "parent_class": null, + "start_line": 63, + "end_line": 96, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "IntentBox", + "parent_class": null, + "start_line": 98, + "end_line": 124, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "IntentBox", + "parent_class": null, + "start_line": 126, + "end_line": 147, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "IntentBox", + "parent_class": null, + "start_line": 149, + "end_line": 153, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 51, + "end_line": 60, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 65, + "end_line": 71, + "parameters": [ + "name: String", + "payload" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_name", + "start_line": 74, + "end_line": 77, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_payload", + "start_line": 80, + "end_line": 83, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_payload", + "start_line": 86, + "end_line": 95, + "parameters": [ + "&self", + "payload" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone_box", + "start_line": 99, + "end_line": 101, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 104, + "end_line": 106, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 108, + "end_line": 111, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 113, + "end_line": 119, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 121, + "end_line": 123, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 127, + "end_line": 129, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 131, + "end_line": 133, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 135, + "end_line": 138, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 140, + "end_line": 142, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 144, + "end_line": 146, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 150, + "end_line": 152, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 35, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 36, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 37, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{self, Debug}", + "imported_names": [], + "alias": null, + "line_number": 38, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 6, + "function_count": 16, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 35, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 38, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntentBox", + "full_name": "", + "start_line": 42, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntentBox", + "full_name": "", + "start_line": 50, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 51, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntentBox", + "full_name": "", + "start_line": 63, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 65, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_name", + "full_name": "", + "start_line": 74, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_payload", + "full_name": "", + "start_line": 80, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_payload", + "full_name": "", + "start_line": 86, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntentBox", + "full_name": "", + "start_line": 98, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 99, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 104, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 108, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 113, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 121, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntentBox", + "full_name": "", + "start_line": 126, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 127, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 131, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 135, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 144, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntentBox", + "full_name": "", + "start_line": 149, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 150, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 35, + "max_depth": 6, + "node_type_counts": { + "class": 6, + "file_root": 1, + "function": 16, + "variable": 7, + "import": 4, + "if_statement": 1 + }, + "classes": 6, + "functions": 16, + "methods": 0, + "variables": 7, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.599062320Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/json/mod.rs", + "size_bytes": 0, + "total_lines": 278, + "code_lines": 221, + "comment_lines": 23, + "empty_lines": 34, + "code_ratio": 0.7949640287769785, + "analyzed_at": "2025-08-15T16:19:40.612362803Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "JSONBox", + "parent_class": null, + "start_line": 13, + "end_line": 16, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "JSONBox", + "parent_class": null, + "start_line": 18, + "end_line": 27, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "JSONBox", + "parent_class": null, + "start_line": 29, + "end_line": 131, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "JSONBox", + "parent_class": null, + "start_line": 133, + "end_line": 166, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "JSONBox", + "parent_class": null, + "start_line": 168, + "end_line": 172, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + }, + { + "name": "JSONBox", + "parent_class": null, + "start_line": 174, + "end_line": 204, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 19, + "end_line": 26, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "from_str", + "start_line": 30, + "end_line": 36, + "parameters": [ + "s: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new", + "start_line": 38, + "end_line": 43, + "parameters": [ + "value: Value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "to_string", + "start_line": 45, + "end_line": 48, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "parse", + "start_line": 51, + "end_line": 57, + "parameters": [ + "data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "stringify", + "start_line": 60, + "end_line": 62, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get", + "start_line": 65, + "end_line": 88, + "parameters": [ + "&self", + "key" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set", + "start_line": 91, + "end_line": 103, + "parameters": [ + "&self", + "key", + "new_value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "has", + "start_line": 106, + "end_line": 115, + "parameters": [ + "&self", + "key" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "keys", + "start_line": 118, + "end_line": 130, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 134, + "end_line": 136, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 138, + "end_line": 140, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 142, + "end_line": 157, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 159, + "end_line": 161, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 163, + "end_line": 165, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 169, + "end_line": 171, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 175, + "end_line": 177, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 180, + "end_line": 182, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 184, + "end_line": 187, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 190, + "end_line": 192, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 195, + "end_line": 203, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "json_value_to_nyash_box", + "start_line": 207, + "end_line": 241, + "parameters": [ + "value: &Value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "nyash_box_to_json_value", + "start_line": 244, + "end_line": 278, + "parameters": [ + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 263, + "end_line": 263, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, BoxCore, BoxBase, StringBox, BoolBox, IntegerBox}", + "imported_names": [], + "alias": null, + "line_number": 5, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::array::ArrayBox", + "imported_names": [], + "alias": null, + "line_number": 6, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::map_box::MapBox", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "serde_json::{Value, Error}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 6, + "function_count": 24, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 5, + "end_line": 5, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 6, + "end_line": 6, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "JSONBox", + "full_name": "", + "start_line": 13, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "JSONBox", + "full_name": "", + "start_line": 18, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 19, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "JSONBox", + "full_name": "", + "start_line": 29, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_str", + "full_name": "", + "start_line": 30, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 31, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 38, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string", + "full_name": "", + "start_line": 45, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse", + "full_name": "", + "start_line": 51, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stringify", + "full_name": "", + "start_line": 60, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get", + "full_name": "", + "start_line": 65, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 70, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 76, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set", + "full_name": "", + "start_line": 91, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "has", + "full_name": "", + "start_line": 106, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 110, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "keys", + "full_name": "", + "start_line": 118, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 119, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 120, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "JSONBox", + "full_name": "", + "start_line": 133, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 134, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 138, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 142, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 159, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 163, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "JSONBox", + "full_name": "", + "start_line": 168, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 169, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "JSONBox", + "full_name": "", + "start_line": 174, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 175, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 180, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 184, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 190, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 195, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 198, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "json_value_to_nyash_box", + "full_name": "", + "start_line": 207, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 212, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 225, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "nyash_box_to_json_value", + "full_name": "", + "start_line": 244, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 245, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 247, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 258, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 262, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 266, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 267, + "end_line": 267, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 268, + "end_line": 268, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 269, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 270, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 83, + "max_depth": 17, + "node_type_counts": { + "function": 23, + "file_root": 1, + "import": 6, + "variable": 26, + "if_statement": 17, + "for_loop": 4, + "class": 6 + }, + "classes": 6, + "functions": 23, + "methods": 0, + "variables": 26, + "control_structures": 21 + }, + "generated_at": "2025-08-15T16:19:40.612379868Z" + }, + { + "file_info": { + "name": "map_box.rs", + "path": "src/boxes/map_box.rs", + "size_bytes": 0, + "total_lines": 313, + "code_lines": 160, + "comment_lines": 122, + "empty_lines": 31, + "code_ratio": 0.5111821086261981, + "analyzed_at": "2025-08-15T16:19:40.597578993Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "MapBox", + "parent_class": null, + "start_line": 114, + "end_line": 117, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MapBox", + "parent_class": null, + "start_line": 119, + "end_line": 223, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MapBox", + "parent_class": null, + "start_line": 226, + "end_line": 238, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "MapBox", + "parent_class": null, + "start_line": 240, + "end_line": 261, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "MapBox", + "parent_class": null, + "start_line": 263, + "end_line": 296, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "MapBox", + "parent_class": null, + "start_line": 298, + "end_line": 302, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "MapBox", + "parent_class": null, + "start_line": 304, + "end_line": 313, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Debug", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 120, + "end_line": 125, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set", + "start_line": 128, + "end_line": 132, + "parameters": [ + "&self", + "key", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get", + "start_line": 135, + "end_line": 141, + "parameters": [ + "&self", + "key" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "has", + "start_line": 144, + "end_line": 147, + "parameters": [ + "&self", + "key" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "delete", + "start_line": 150, + "end_line": 156, + "parameters": [ + "&self", + "key" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "keys", + "start_line": 159, + "end_line": 166, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "values", + "start_line": 169, + "end_line": 179, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 172, + "end_line": 172, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "size", + "start_line": 182, + "end_line": 184, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear", + "start_line": 187, + "end_line": 190, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "forEach", + "start_line": 193, + "end_line": 197, + "parameters": [ + "&self", + "_callback" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "toJSON", + "start_line": 200, + "end_line": 217, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_data", + "start_line": 220, + "end_line": 222, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone", + "start_line": 227, + "end_line": 237, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 231, + "end_line": 231, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "box_id", + "start_line": 241, + "end_line": 243, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 245, + "end_line": 247, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 249, + "end_line": 252, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 254, + "end_line": 256, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 258, + "end_line": 260, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 264, + "end_line": 266, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 268, + "end_line": 271, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 274, + "end_line": 276, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 279, + "end_line": 285, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 287, + "end_line": 294, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 299, + "end_line": 301, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 305, + "end_line": 312, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{BoxCore, BoxBase, NyashBox, StringBox, IntegerBox, BoolBox}", + "imported_names": [], + "alias": null, + "line_number": 106, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::ArrayBox", + "imported_names": [], + "alias": null, + "line_number": 107, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 108, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 109, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 110, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, RwLock}", + "imported_names": [], + "alias": null, + "line_number": 111, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 27, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 110, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MapBox", + "full_name": "", + "start_line": 114, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MapBox", + "full_name": "", + "start_line": 119, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 120, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set", + "full_name": "", + "start_line": 128, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 129, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get", + "full_name": "", + "start_line": 135, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "has", + "full_name": "", + "start_line": 144, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 145, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "delete", + "full_name": "", + "start_line": 150, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "keys", + "full_name": "", + "start_line": 159, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 160, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "values", + "full_name": "", + "start_line": 169, + "end_line": 179, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec>", + "full_name": "", + "start_line": 170, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 175, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "size", + "full_name": "", + "start_line": 182, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear", + "full_name": "", + "start_line": 187, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "forEach", + "full_name": "", + "start_line": 193, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "toJSON", + "full_name": "", + "start_line": 200, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 202, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 205, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_data", + "full_name": "", + "start_line": 220, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MapBox", + "full_name": "", + "start_line": 226, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 227, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap>", + "full_name": "", + "start_line": 230, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MapBox", + "full_name": "", + "start_line": 240, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 241, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 245, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 249, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 250, + "end_line": 250, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 254, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 258, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MapBox", + "full_name": "", + "start_line": 263, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 264, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 268, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 269, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 274, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 279, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 287, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 288, + "end_line": 293, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MapBox", + "full_name": "", + "start_line": 298, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 299, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MapBox", + "full_name": "", + "start_line": 304, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 305, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 306, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 63, + "max_depth": 9, + "node_type_counts": { + "variable": 19, + "class": 7, + "function": 25, + "import": 6, + "for_loop": 3, + "file_root": 1, + "if_statement": 2 + }, + "classes": 7, + "functions": 25, + "methods": 0, + "variables": 19, + "control_structures": 5 + }, + "generated_at": "2025-08-15T16:19:40.597595993Z" + }, + { + "file_info": { + "name": "math_box.rs", + "path": "src/boxes/math_box.rs", + "size_bytes": 0, + "total_lines": 513, + "code_lines": 371, + "comment_lines": 80, + "empty_lines": 62, + "code_ratio": 0.723196881091618, + "analyzed_at": "2025-08-15T16:19:40.597617262Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "MathBox", + "parent_class": null, + "start_line": 65, + "end_line": 67, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MathBox", + "parent_class": null, + "start_line": 69, + "end_line": 283, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MathBox", + "parent_class": null, + "start_line": 285, + "end_line": 305, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "MathBox", + "parent_class": null, + "start_line": 307, + "end_line": 333, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "MathBox", + "parent_class": null, + "start_line": 335, + "end_line": 339, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 343, + "end_line": 346, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 348, + "end_line": 355, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 357, + "end_line": 377, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 379, + "end_line": 407, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 409, + "end_line": 413, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "RangeBox", + "parent_class": null, + "start_line": 417, + "end_line": 422, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "RangeBox", + "parent_class": null, + "start_line": 424, + "end_line": 453, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "RangeBox", + "parent_class": null, + "start_line": 455, + "end_line": 475, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "RangeBox", + "parent_class": null, + "start_line": 477, + "end_line": 507, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "RangeBox", + "parent_class": null, + "start_line": 509, + "end_line": 513, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 70, + "end_line": 74, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "abs", + "start_line": 77, + "end_line": 85, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "max", + "start_line": 88, + "end_line": 102, + "parameters": [ + "&self", + "a", + "b" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "min", + "start_line": 105, + "end_line": 119, + "parameters": [ + "&self", + "a", + "b" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "pow", + "start_line": 122, + "end_line": 136, + "parameters": [ + "&self", + "base", + "exp" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "sqrt", + "start_line": 139, + "end_line": 155, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "getPi", + "start_line": 159, + "end_line": 161, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "getE", + "start_line": 165, + "end_line": 167, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "sin", + "start_line": 170, + "end_line": 178, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "cos", + "start_line": 181, + "end_line": 189, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "tan", + "start_line": 192, + "end_line": 200, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "log", + "start_line": 203, + "end_line": 219, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "log10", + "start_line": 222, + "end_line": 238, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "exp", + "start_line": 241, + "end_line": 249, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "floor", + "start_line": 252, + "end_line": 260, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "ceil", + "start_line": 263, + "end_line": 271, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "round", + "start_line": 274, + "end_line": 282, + "parameters": [ + "&self", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 286, + "end_line": 288, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 290, + "end_line": 292, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 294, + "end_line": 296, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 298, + "end_line": 300, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 302, + "end_line": 304, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 308, + "end_line": 310, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 312, + "end_line": 314, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 316, + "end_line": 318, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 321, + "end_line": 323, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 325, + "end_line": 331, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 336, + "end_line": 338, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 349, + "end_line": 354, + "parameters": [ + "value: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 358, + "end_line": 360, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 362, + "end_line": 364, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 366, + "end_line": 368, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 370, + "end_line": 372, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 374, + "end_line": 376, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 380, + "end_line": 382, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 384, + "end_line": 386, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 388, + "end_line": 390, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 393, + "end_line": 395, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 397, + "end_line": 405, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 410, + "end_line": 412, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 425, + "end_line": 432, + "parameters": [ + "start: i64", + "end: i64", + "step: i64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "iter", + "start_line": 435, + "end_line": 452, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 456, + "end_line": 458, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 460, + "end_line": 462, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 464, + "end_line": 466, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 468, + "end_line": 470, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 472, + "end_line": 474, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 478, + "end_line": 480, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 482, + "end_line": 484, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 486, + "end_line": 488, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 491, + "end_line": 493, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 495, + "end_line": 505, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 510, + "end_line": 512, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, BoxCore, BoxBase, next_box_id}", + "imported_names": [], + "alias": null, + "line_number": 59, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 60, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 61, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 15, + "function_count": 53, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MathBox", + "full_name": "", + "start_line": 65, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MathBox", + "full_name": "", + "start_line": 69, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 70, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "abs", + "full_name": "", + "start_line": 77, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "max", + "full_name": "", + "start_line": 88, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "min", + "full_name": "", + "start_line": 105, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "pow", + "full_name": "", + "start_line": 122, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "sqrt", + "full_name": "", + "start_line": 139, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "getPi", + "full_name": "", + "start_line": 159, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "getE", + "full_name": "", + "start_line": 165, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "sin", + "full_name": "", + "start_line": 170, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 173, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "cos", + "full_name": "", + "start_line": 181, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 182, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "tan", + "full_name": "", + "start_line": 192, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "log", + "full_name": "", + "start_line": 203, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 205, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 210, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 211, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "log10", + "full_name": "", + "start_line": 222, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "exp", + "full_name": "", + "start_line": 241, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 242, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 244, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "floor", + "full_name": "", + "start_line": 252, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 253, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ceil", + "full_name": "", + "start_line": 263, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 264, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 266, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "round", + "full_name": "", + "start_line": 274, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 281, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 277, + "end_line": 281, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MathBox", + "full_name": "", + "start_line": 285, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 286, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 290, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 294, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 298, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 302, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MathBox", + "full_name": "", + "start_line": 307, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 308, + "end_line": 310, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 312, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 316, + "end_line": 318, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 321, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 325, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 326, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MathBox", + "full_name": "", + "start_line": 335, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 336, + "end_line": 338, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 343, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 348, + "end_line": 355, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 349, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 357, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 358, + "end_line": 360, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 362, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 366, + "end_line": 368, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 370, + "end_line": 372, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 374, + "end_line": 376, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 379, + "end_line": 407, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 380, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 384, + "end_line": 386, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 388, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 393, + "end_line": 395, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 397, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 398, + "end_line": 404, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 400, + "end_line": 404, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 409, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 410, + "end_line": 412, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RangeBox", + "full_name": "", + "start_line": 417, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RangeBox", + "full_name": "", + "start_line": 424, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 425, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "iter", + "full_name": "", + "start_line": 435, + "end_line": 452, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 436, + "end_line": 436, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 439, + "end_line": 449, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 440, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 444, + "end_line": 449, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 445, + "end_line": 448, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RangeBox", + "full_name": "", + "start_line": 455, + "end_line": 475, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 456, + "end_line": 458, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 460, + "end_line": 462, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 464, + "end_line": 466, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 468, + "end_line": 470, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 472, + "end_line": 474, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RangeBox", + "full_name": "", + "start_line": 477, + "end_line": 507, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 478, + "end_line": 480, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 482, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 486, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 491, + "end_line": 493, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 495, + "end_line": 505, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 496, + "end_line": 504, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RangeBox", + "full_name": "", + "start_line": 509, + "end_line": 513, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 510, + "end_line": 512, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 117, + "max_depth": 11, + "node_type_counts": { + "function": 53, + "variable": 3, + "for_loop": 2, + "class": 15, + "file_root": 1, + "if_statement": 40, + "import": 3 + }, + "classes": 15, + "functions": 53, + "methods": 0, + "variables": 3, + "control_structures": 42 + }, + "generated_at": "2025-08-15T16:19:40.597642082Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/mod.rs", + "size_bytes": 0, + "total_lines": 146, + "code_lines": 67, + "comment_lines": 66, + "empty_lines": 13, + "code_ratio": 0.4589041095890411, + "analyzed_at": "2025-08-15T16:19:40.598839660Z", + "metadata": {} + }, + "language": "rust", + "classes": [], + "functions": [], + "imports": [ + { + "type": "rust_use", + "module_path": "string_box::StringBox", + "imported_names": [], + "alias": null, + "line_number": 81, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "integer_box::IntegerBox", + "imported_names": [], + "alias": null, + "line_number": 82, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "bool_box::BoolBox", + "imported_names": [], + "alias": null, + "line_number": 83, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "math_box::{MathBox, FloatBox}", + "imported_names": [], + "alias": null, + "line_number": 84, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "time_box::{TimeBox, DateTimeBox}", + "imported_names": [], + "alias": null, + "line_number": 85, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "debug_box::DebugBox", + "imported_names": [], + "alias": null, + "line_number": 86, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "random_box::RandomBox", + "imported_names": [], + "alias": null, + "line_number": 87, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "timer_box::TimerBox", + "imported_names": [], + "alias": null, + "line_number": 88, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "canvas_event_box::CanvasEventBox", + "imported_names": [], + "alias": null, + "line_number": 89, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "canvas_loop_box::CanvasLoopBox", + "imported_names": [], + "alias": null, + "line_number": 90, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "audio_box::AudioBox", + "imported_names": [], + "alias": null, + "line_number": 91, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "qr_box::QRBox", + "imported_names": [], + "alias": null, + "line_number": 92, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "sound_box::SoundBox", + "imported_names": [], + "alias": null, + "line_number": 93, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "map_box::MapBox", + "imported_names": [], + "alias": null, + "line_number": 94, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "console_box::ConsoleBox", + "imported_names": [], + "alias": null, + "line_number": 95, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "egui_box::EguiBox", + "imported_names": [], + "alias": null, + "line_number": 99, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "web::{WebDisplayBox, WebConsoleBox, WebCanvasBox}", + "imported_names": [], + "alias": null, + "line_number": 103, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "null_box::{NullBox, null}", + "imported_names": [], + "alias": null, + "line_number": 127, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "array::ArrayBox", + "imported_names": [], + "alias": null, + "line_number": 130, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "buffer::BufferBox", + "imported_names": [], + "alias": null, + "line_number": 131, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "file::FileBox", + "imported_names": [], + "alias": null, + "line_number": 132, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "future::{NyashFutureBox, FutureBox}", + "imported_names": [], + "alias": null, + "line_number": 133, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "json::JSONBox", + "imported_names": [], + "alias": null, + "line_number": 134, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "result::{NyashResultBox, ResultBox}", + "imported_names": [], + "alias": null, + "line_number": 135, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "http::HttpClientBox", + "imported_names": [], + "alias": null, + "line_number": 136, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "stream::{NyashStreamBox, StreamBox}", + "imported_names": [], + "alias": null, + "line_number": 137, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "regex::RegexBox", + "imported_names": [], + "alias": null, + "line_number": 138, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "socket_box::SocketBox", + "imported_names": [], + "alias": null, + "line_number": 139, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "http_message_box::{HTTPRequestBox, HTTPResponseBox}", + "imported_names": [], + "alias": null, + "line_number": 140, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "http_server_box::HTTPServerBox", + "imported_names": [], + "alias": null, + "line_number": 141, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "intent_box::IntentBox", + "imported_names": [], + "alias": null, + "line_number": 144, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 0, + "function_count": 0, + "import_count": 31, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 83, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 130, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 131, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 132, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 133, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 32, + "max_depth": 1, + "node_type_counts": { + "file_root": 1, + "import": 31 + }, + "classes": 0, + "functions": 0, + "methods": 0, + "variables": 0, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.598847242Z" + }, + { + "file_info": { + "name": "null_box.rs", + "path": "src/boxes/null_box.rs", + "size_bytes": 0, + "total_lines": 244, + "code_lines": 117, + "comment_lines": 96, + "empty_lines": 31, + "code_ratio": 0.47950819672131145, + "analyzed_at": "2025-08-15T16:19:40.599092235Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NullBox", + "parent_class": null, + "start_line": 93, + "end_line": 95, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "NullBox", + "parent_class": null, + "start_line": 97, + "end_line": 135, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "NullBox", + "parent_class": null, + "start_line": 137, + "end_line": 157, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "NullBox", + "parent_class": null, + "start_line": 159, + "end_line": 182, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "NullBox", + "parent_class": null, + "start_line": 184, + "end_line": 188, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 98, + "end_line": 102, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_null", + "start_line": 105, + "end_line": 107, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_not_null", + "start_line": 110, + "end_line": 112, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "check_null", + "start_line": 115, + "end_line": 117, + "parameters": [ + "value: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "check_not_null", + "start_line": 120, + "end_line": 122, + "parameters": [ + "value: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_or_default", + "start_line": 125, + "end_line": 134, + "parameters": [ + "value: &dyn NyashBox", + "default" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 138, + "end_line": 140, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 142, + "end_line": 144, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 146, + "end_line": 148, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 150, + "end_line": 152, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 154, + "end_line": 156, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 160, + "end_line": 162, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 164, + "end_line": 166, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 168, + "end_line": 170, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 173, + "end_line": 175, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 177, + "end_line": 180, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 185, + "end_line": 187, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "null", + "start_line": 191, + "end_line": 193, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_null_creation", + "start_line": 201, + "end_line": 206, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_null_check", + "start_line": 209, + "end_line": 218, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_null_equality", + "start_line": 221, + "end_line": 228, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_get_or_default", + "start_line": 231, + "end_line": 243, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase, next_box_id}", + "imported_names": [], + "alias": null, + "line_number": 87, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 88, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 89, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 197, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::IntegerBox", + "imported_names": [], + "alias": null, + "line_number": 198, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 22, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NullBox", + "full_name": "", + "start_line": 93, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NullBox", + "full_name": "", + "start_line": 97, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 98, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_null", + "full_name": "", + "start_line": 105, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_not_null", + "full_name": "", + "start_line": 110, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "check_null", + "full_name": "", + "start_line": 115, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "check_not_null", + "full_name": "", + "start_line": 120, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_or_default", + "full_name": "", + "start_line": 125, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 129, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NullBox", + "full_name": "", + "start_line": 137, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 138, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 142, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 146, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 150, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 154, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NullBox", + "full_name": "", + "start_line": 159, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 160, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 164, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 168, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 173, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 177, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NullBox", + "full_name": "", + "start_line": 184, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 185, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "null", + "full_name": "", + "start_line": 191, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 198, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_null_creation", + "full_name": "", + "start_line": 201, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 202, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_null_check", + "full_name": "", + "start_line": 209, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 210, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 211, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_null_equality", + "full_name": "", + "start_line": 221, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_get_or_default", + "full_name": "", + "start_line": 231, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 233, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 237, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 45, + "max_depth": 6, + "node_type_counts": { + "variable": 11, + "class": 5, + "function": 22, + "file_root": 1, + "if_statement": 1, + "import": 5 + }, + "classes": 5, + "functions": 22, + "methods": 0, + "variables": 11, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.599104618Z" + }, + { + "file_info": { + "name": "p2p_box.rs", + "path": "src/boxes/p2p_box.rs", + "size_bytes": 0, + "total_lines": 211, + "code_lines": 133, + "comment_lines": 51, + "empty_lines": 27, + "code_ratio": 0.6303317535545023, + "analyzed_at": "2025-08-15T16:19:40.602608508Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "P2PBox", + "parent_class": null, + "start_line": 48, + "end_line": 53, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "P2PBox", + "parent_class": null, + "start_line": 55, + "end_line": 74, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "TransportKind", + "parent_class": null, + "start_line": 76, + "end_line": 79, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "TransportKind", + "parent_class": null, + "start_line": 81, + "end_line": 90, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::str::FromStr", + "type": "impl" + } + }, + { + "name": "P2PBox", + "parent_class": null, + "start_line": 92, + "end_line": 211, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "P2PBox", + "parent_class": null, + "start_line": 154, + "end_line": 181, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "P2PBox", + "parent_class": null, + "start_line": 183, + "end_line": 205, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "P2PBox", + "parent_class": null, + "start_line": 207, + "end_line": 211, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 56, + "end_line": 73, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "from_str", + "start_line": 84, + "end_line": 89, + "parameters": [ + "s: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 94, + "end_line": 105, + "parameters": [ + "node_id: String", + "transport_kind: TransportKind" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_node_id", + "start_line": 108, + "end_line": 111, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "send", + "start_line": 114, + "end_line": 127, + "parameters": [ + "&self", + "to", + "intent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "on", + "start_line": 130, + "end_line": 150, + "parameters": [ + "&self", + "intent_name", + "handler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_reachable", + "start_line": 139, + "end_line": 143, + "parameters": [ + "&self", + "node_id" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_transport_type", + "start_line": 146, + "end_line": 149, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone_box", + "start_line": 155, + "end_line": 157, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 160, + "end_line": 162, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 164, + "end_line": 168, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 170, + "end_line": 176, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 178, + "end_line": 180, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 184, + "end_line": 186, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 188, + "end_line": 190, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 192, + "end_line": 196, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 198, + "end_line": 200, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 202, + "end_line": 204, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 208, + "end_line": 210, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 38, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::IntentBox", + "imported_names": [], + "alias": null, + "line_number": 39, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::transport::{Transport, InProcessTransport, TransportError}", + "imported_names": [], + "alias": null, + "line_number": 40, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::messaging::IntentHandler", + "imported_names": [], + "alias": null, + "line_number": 41, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 42, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 43, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 44, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 8, + "function_count": 19, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 38, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "P2PBox", + "full_name": "", + "start_line": 48, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "P2PBox", + "full_name": "", + "start_line": 55, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 56, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 62, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TransportKind", + "full_name": "", + "start_line": 76, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TransportKind", + "full_name": "", + "start_line": 81, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_str", + "full_name": "", + "start_line": 84, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "P2PBox", + "full_name": "", + "start_line": 92, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 94, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 95, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_node_id", + "full_name": "", + "start_line": 108, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "send", + "full_name": "", + "start_line": 114, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 119, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on", + "full_name": "", + "start_line": 130, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 131, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_reachable", + "full_name": "", + "start_line": 139, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_transport_type", + "full_name": "", + "start_line": 146, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "P2PBox", + "full_name": "", + "start_line": 154, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 155, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 160, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 164, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 170, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 178, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "P2PBox", + "full_name": "", + "start_line": 183, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 184, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 188, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 192, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 194, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 198, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 202, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "P2PBox", + "full_name": "", + "start_line": 207, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 208, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 54, + "max_depth": 8, + "node_type_counts": { + "variable": 17, + "import": 7, + "function": 19, + "class": 8, + "file_root": 1, + "if_statement": 2 + }, + "classes": 8, + "functions": 19, + "methods": 0, + "variables": 17, + "control_structures": 2 + }, + "generated_at": "2025-08-15T16:19:40.602619751Z" + }, + { + "file_info": { + "name": "qr_box.rs", + "path": "src/boxes/qr_box.rs", + "size_bytes": 0, + "total_lines": 339, + "code_lines": 220, + "comment_lines": 79, + "empty_lines": 40, + "code_ratio": 0.6489675516224189, + "analyzed_at": "2025-08-15T16:19:40.598987411Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "QRBox", + "parent_class": null, + "start_line": 65, + "end_line": 73, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "QRBox", + "parent_class": null, + "start_line": 75, + "end_line": 284, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "QRBox", + "parent_class": null, + "start_line": 286, + "end_line": 306, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "QRBox", + "parent_class": null, + "start_line": 308, + "end_line": 333, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "QRBox", + "parent_class": null, + "start_line": 335, + "end_line": 339, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 76, + "end_line": 86, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "generate", + "start_line": 89, + "end_line": 93, + "parameters": [ + "&mut self", + "text: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "generate_url", + "start_line": 96, + "end_line": 104, + "parameters": [ + "&mut self", + "url: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "generate_wifi", + "start_line": 107, + "end_line": 113, + "parameters": [ + "&mut self", + "ssid: &str", + "password: &str", + "security: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "generate_contact", + "start_line": 116, + "end_line": 125, + "parameters": [ + "&mut self", + "name: &str", + "phone: &str", + "email: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_size", + "start_line": 128, + "end_line": 130, + "parameters": [ + "&mut self", + "width: u32", + "height: u32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_colors", + "start_line": 133, + "end_line": 136, + "parameters": [ + "&mut self", + "foreground: &str", + "background: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_error_correction", + "start_line": 139, + "end_line": 143, + "parameters": [ + "&mut self", + "level: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_info", + "start_line": 146, + "end_line": 151, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_data_url", + "start_line": 154, + "end_line": 156, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "generate_base64_qr", + "start_line": 159, + "end_line": 163, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "draw_to_canvas", + "start_line": 167, + "end_line": 182, + "parameters": [ + "&self", + "canvas_id: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "draw_simple_qr", + "start_line": 186, + "end_line": 229, + "parameters": [ + "&self", + "ctx: &CanvasRenderingContext2d" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "simple_hash", + "start_line": 232, + "end_line": 238, + "parameters": [ + "&self", + "data: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "draw_to_canvas", + "start_line": 242, + "end_line": 248, + "parameters": [ + "&self", + "canvas_id: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "scan_from_canvas", + "start_line": 252, + "end_line": 256, + "parameters": [ + "&self", + "canvas_id: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "scan_from_canvas", + "start_line": 259, + "end_line": 262, + "parameters": [ + "&self", + "canvas_id: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "generate_batch", + "start_line": 265, + "end_line": 269, + "parameters": [ + "&self", + "data_list: &[String]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 267, + "end_line": 267, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "calculate_complexity", + "start_line": 272, + "end_line": 283, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 287, + "end_line": 289, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 291, + "end_line": 293, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 295, + "end_line": 297, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 299, + "end_line": 301, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 303, + "end_line": 305, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 309, + "end_line": 311, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 314, + "end_line": 316, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 318, + "end_line": 320, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 322, + "end_line": 324, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 326, + "end_line": 332, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 336, + "end_line": 338, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 52, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 53, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm_bindgen::prelude::*", + "imported_names": [], + "alias": null, + "line_number": 56, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "web_sys::{\n HtmlCanvasElement, CanvasRenderingContext2d, ImageData\n}", + "imported_names": [], + "alias": null, + "line_number": 59, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 31, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 56, + "end_line": 56, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "QRBox", + "full_name": "", + "start_line": 65, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "QRBox", + "full_name": "", + "start_line": 75, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 76, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate", + "full_name": "", + "start_line": 89, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_url", + "full_name": "", + "start_line": 96, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_wifi", + "full_name": "", + "start_line": 107, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_contact", + "full_name": "", + "start_line": 116, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_size", + "full_name": "", + "start_line": 128, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_colors", + "full_name": "", + "start_line": 133, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_error_correction", + "full_name": "", + "start_line": 139, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_info", + "full_name": "", + "start_line": 146, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_data_url", + "full_name": "", + "start_line": 154, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_base64_qr", + "full_name": "", + "start_line": 159, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "draw_to_canvas", + "full_name": "", + "start_line": 167, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 168, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 179, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 170, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 172, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 173, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 21, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "draw_simple_qr", + "full_name": "", + "start_line": 186, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 187, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 198, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 203, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 216, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "simple_hash", + "full_name": "", + "start_line": 232, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 233, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "draw_to_canvas", + "full_name": "", + "start_line": 242, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "scan_from_canvas", + "full_name": "", + "start_line": 252, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "scan_from_canvas", + "full_name": "", + "start_line": 259, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "generate_batch", + "full_name": "", + "start_line": 265, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "calculate_complexity", + "full_name": "", + "start_line": 272, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 273, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 274, + "end_line": 280, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "QRBox", + "full_name": "", + "start_line": 286, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 287, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 291, + "end_line": 293, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 295, + "end_line": 297, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 299, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 303, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "QRBox", + "full_name": "", + "start_line": 308, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 309, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 314, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 318, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 322, + "end_line": 324, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 326, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 327, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "QRBox", + "full_name": "", + "start_line": 335, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 336, + "end_line": 338, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 64, + "max_depth": 21, + "node_type_counts": { + "for_loop": 3, + "file_root": 1, + "function": 30, + "class": 5, + "import": 4, + "if_statement": 12, + "variable": 9 + }, + "classes": 5, + "functions": 30, + "methods": 0, + "variables": 9, + "control_structures": 15 + }, + "generated_at": "2025-08-15T16:19:40.599005714Z" + }, + { + "file_info": { + "name": "random_box.rs", + "path": "src/boxes/random_box.rs", + "size_bytes": 0, + "total_lines": 315, + "code_lines": 183, + "comment_lines": 92, + "empty_lines": 40, + "code_ratio": 0.580952380952381, + "analyzed_at": "2025-08-15T16:19:40.599938390Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "RandomBox", + "parent_class": null, + "start_line": 78, + "end_line": 82, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "RandomBox", + "parent_class": null, + "start_line": 84, + "end_line": 93, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "RandomBox", + "parent_class": null, + "start_line": 95, + "end_line": 258, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "RandomBox", + "parent_class": null, + "start_line": 260, + "end_line": 287, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "RandomBox", + "parent_class": null, + "start_line": 289, + "end_line": 309, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "RandomBox", + "parent_class": null, + "start_line": 311, + "end_line": 315, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 85, + "end_line": 92, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 96, + "end_line": 107, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "seed", + "start_line": 110, + "end_line": 117, + "parameters": [ + "&self", + "new_seed" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "next_random", + "start_line": 120, + "end_line": 125, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "random", + "start_line": 128, + "end_line": 132, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "randInt", + "start_line": 135, + "end_line": 150, + "parameters": [ + "&self", + "min", + "max" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "randBool", + "start_line": 153, + "end_line": 156, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "choice", + "start_line": 159, + "end_line": 172, + "parameters": [ + "&self", + "array" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "shuffle", + "start_line": 175, + "end_line": 213, + "parameters": [ + "&self", + "array" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "randString", + "start_line": 216, + "end_line": 235, + "parameters": [ + "&self", + "length" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "probability", + "start_line": 238, + "end_line": 257, + "parameters": [ + "&self", + "prob" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 261, + "end_line": 263, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 265, + "end_line": 267, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 269, + "end_line": 271, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 274, + "end_line": 276, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 278, + "end_line": 284, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 290, + "end_line": 292, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 294, + "end_line": 296, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 298, + "end_line": 300, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 302, + "end_line": 304, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 306, + "end_line": 308, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 312, + "end_line": 314, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 70, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{ArrayBox, FloatBox}", + "imported_names": [], + "alias": null, + "line_number": 71, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 72, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 73, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 74, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 6, + "function_count": 22, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 70, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RandomBox", + "full_name": "", + "start_line": 78, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RandomBox", + "full_name": "", + "start_line": 84, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 85, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RandomBox", + "full_name": "", + "start_line": 95, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 96, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 98, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "seed", + "full_name": "", + "start_line": 110, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "next_random", + "full_name": "", + "start_line": 120, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "random", + "full_name": "", + "start_line": 128, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 129, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 130, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "randInt", + "full_name": "", + "start_line": 135, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 145, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "randBool", + "full_name": "", + "start_line": 153, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "choice", + "full_name": "", + "start_line": 159, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "shuffle", + "full_name": "", + "start_line": 175, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 176, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 177, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 187, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 197, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 199, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 202, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "randString", + "full_name": "", + "start_line": 216, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 223, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 226, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 227, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "probability", + "full_name": "", + "start_line": 238, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 244, + "end_line": 244, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 246, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 247, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 248, + "end_line": 250, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 252, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RandomBox", + "full_name": "", + "start_line": 260, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 261, + "end_line": 263, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 265, + "end_line": 267, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 269, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 274, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 278, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 279, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RandomBox", + "full_name": "", + "start_line": 289, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 290, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 294, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 298, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 302, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 306, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RandomBox", + "full_name": "", + "start_line": 311, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 312, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 78, + "max_depth": 12, + "node_type_counts": { + "class": 6, + "function": 22, + "import": 5, + "variable": 25, + "file_root": 1, + "if_statement": 16, + "for_loop": 3 + }, + "classes": 6, + "functions": 22, + "methods": 0, + "variables": 25, + "control_structures": 19 + }, + "generated_at": "2025-08-15T16:19:40.599958127Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/regex/mod.rs", + "size_bytes": 0, + "total_lines": 139, + "code_lines": 105, + "comment_lines": 9, + "empty_lines": 25, + "code_ratio": 0.7553956834532374, + "analyzed_at": "2025-08-15T16:19:40.612981790Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "RegexBox", + "parent_class": null, + "start_line": 13, + "end_line": 17, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "RegexBox", + "parent_class": null, + "start_line": 19, + "end_line": 82, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "RegexBox", + "parent_class": null, + "start_line": 84, + "end_line": 111, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "RegexBox", + "parent_class": null, + "start_line": 113, + "end_line": 133, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "RegexBox", + "parent_class": null, + "start_line": 135, + "end_line": 139, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 20, + "end_line": 27, + "parameters": [ + "pattern: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_match", + "start_line": 28, + "end_line": 30, + "parameters": [ + "&self", + "text: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "pattern", + "start_line": 31, + "end_line": 33, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test", + "start_line": 36, + "end_line": 39, + "parameters": [ + "&self", + "text" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "find", + "start_line": 42, + "end_line": 49, + "parameters": [ + "&self", + "text" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "find_all", + "start_line": 52, + "end_line": 61, + "parameters": [ + "&self", + "text" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "replace", + "start_line": 64, + "end_line": 69, + "parameters": [ + "&self", + "text", + "replacement" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "split", + "start_line": 72, + "end_line": 81, + "parameters": [ + "&self", + "text" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone_box", + "start_line": 85, + "end_line": 87, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 90, + "end_line": 92, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 94, + "end_line": 96, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 99, + "end_line": 101, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 104, + "end_line": 110, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 114, + "end_line": 116, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 118, + "end_line": 120, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 122, + "end_line": 124, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 126, + "end_line": 128, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 130, + "end_line": 132, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 136, + "end_line": 138, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "regex::Regex", + "imported_names": [], + "alias": null, + "line_number": 5, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 6, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::array::ArrayBox", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::Arc", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::Debug", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 19, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 5, + "end_line": 5, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 6, + "end_line": 6, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RegexBox", + "full_name": "", + "start_line": 13, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RegexBox", + "full_name": "", + "start_line": 19, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 20, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 21, + "end_line": 21, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_match", + "full_name": "", + "start_line": 28, + "end_line": 30, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "pattern", + "full_name": "", + "start_line": 31, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test", + "full_name": "", + "start_line": 36, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "find", + "full_name": "", + "start_line": 42, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "find_all", + "full_name": "", + "start_line": 52, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 56, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "replace", + "full_name": "", + "start_line": 64, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "split", + "full_name": "", + "start_line": 72, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 76, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RegexBox", + "full_name": "", + "start_line": 84, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 85, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 90, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 94, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 99, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 104, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RegexBox", + "full_name": "", + "start_line": 113, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 114, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 118, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 122, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 126, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 130, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RegexBox", + "full_name": "", + "start_line": 135, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 136, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 47, + "max_depth": 8, + "node_type_counts": { + "variable": 12, + "class": 5, + "for_loop": 2, + "import": 6, + "if_statement": 2, + "function": 19, + "file_root": 1 + }, + "classes": 5, + "functions": 19, + "methods": 0, + "variables": 12, + "control_structures": 4 + }, + "generated_at": "2025-08-15T16:19:40.612988492Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/result/mod.rs", + "size_bytes": 0, + "total_lines": 141, + "code_lines": 107, + "comment_lines": 10, + "empty_lines": 24, + "code_ratio": 0.7588652482269503, + "analyzed_at": "2025-08-15T16:19:40.616773829Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashResultBox", + "parent_class": null, + "start_line": 9, + "end_line": 12, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "NyashResultBox", + "parent_class": null, + "start_line": 14, + "end_line": 37, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "NyashResultBox", + "parent_class": null, + "start_line": 39, + "end_line": 76, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "NyashResultBox", + "parent_class": null, + "start_line": 78, + "end_line": 109, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "NyashResultBox", + "parent_class": null, + "start_line": 111, + "end_line": 115, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + }, + { + "name": "ResultBox", + "parent_class": null, + "start_line": 120, + "end_line": 141, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new_ok", + "start_line": 15, + "end_line": 17, + "parameters": [ + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new_err", + "start_line": 19, + "end_line": 21, + "parameters": [ + "error" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_ok_bool", + "start_line": 23, + "end_line": 25, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_err", + "start_line": 27, + "end_line": 29, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "unwrap", + "start_line": 31, + "end_line": 36, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone_box", + "start_line": 40, + "end_line": 45, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 48, + "end_line": 50, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 52, + "end_line": 57, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 60, + "end_line": 62, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 65, + "end_line": 75, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 79, + "end_line": 85, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 87, + "end_line": 93, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 95, + "end_line": 100, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 102, + "end_line": 104, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 106, + "end_line": 108, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 112, + "end_line": 114, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "is_ok", + "start_line": 122, + "end_line": 124, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_value", + "start_line": 127, + "end_line": 132, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_error", + "start_line": 135, + "end_line": 140, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore}", + "imported_names": [], + "alias": null, + "line_number": 5, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 6, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 6, + "function_count": 19, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 5, + "end_line": 5, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 6, + "end_line": 6, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashResultBox", + "full_name": "", + "start_line": 9, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashResultBox", + "full_name": "", + "start_line": 14, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_ok", + "full_name": "", + "start_line": 15, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_err", + "full_name": "", + "start_line": 19, + "end_line": 21, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_ok_bool", + "full_name": "", + "start_line": 23, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_err", + "full_name": "", + "start_line": 27, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "unwrap", + "full_name": "", + "start_line": 31, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashResultBox", + "full_name": "", + "start_line": 39, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 40, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 48, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 52, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 60, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 65, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashResultBox", + "full_name": "", + "start_line": 78, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 79, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 87, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 95, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 102, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 106, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashResultBox", + "full_name": "", + "start_line": 111, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 112, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ResultBox", + "full_name": "", + "start_line": 120, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_ok", + "full_name": "", + "start_line": 122, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_value", + "full_name": "", + "start_line": 127, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_error", + "full_name": "", + "start_line": 135, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 29, + "max_depth": 6, + "node_type_counts": { + "class": 6, + "file_root": 1, + "function": 19, + "import": 2, + "if_statement": 1 + }, + "classes": 6, + "functions": 19, + "methods": 0, + "variables": 0, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.616782997Z" + }, + { + "file_info": { + "name": "simple_intent_box.rs", + "path": "src/boxes/simple_intent_box.rs", + "size_bytes": 0, + "total_lines": 248, + "code_lines": 69, + "comment_lines": 162, + "empty_lines": 17, + "code_ratio": 0.2782258064516129, + "analyzed_at": "2025-08-15T16:19:40.599004151Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "SimpleIntentBox", + "parent_class": null, + "start_line": 168, + "end_line": 172, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "SimpleIntentBox", + "parent_class": null, + "start_line": 174, + "end_line": 183, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "SimpleIntentBox", + "parent_class": null, + "start_line": 185, + "end_line": 192, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "SimpleIntentBox", + "parent_class": null, + "start_line": 194, + "end_line": 214, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "SimpleIntentBox", + "parent_class": null, + "start_line": 216, + "end_line": 242, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "SimpleIntentBox", + "parent_class": null, + "start_line": 244, + "end_line": 248, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 175, + "end_line": 182, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 186, + "end_line": 191, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 195, + "end_line": 197, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 199, + "end_line": 201, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 203, + "end_line": 205, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 207, + "end_line": 209, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 211, + "end_line": 213, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 217, + "end_line": 219, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 221, + "end_line": 227, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 229, + "end_line": 231, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 233, + "end_line": 235, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 238, + "end_line": 240, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 245, + "end_line": 247, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 162, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 163, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 164, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 165, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 6, + "function_count": 13, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SimpleIntentBox", + "full_name": "", + "start_line": 168, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SimpleIntentBox", + "full_name": "", + "start_line": 174, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 175, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 176, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SimpleIntentBox", + "full_name": "", + "start_line": 185, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 186, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SimpleIntentBox", + "full_name": "", + "start_line": 194, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 195, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 199, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 203, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 207, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 211, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SimpleIntentBox", + "full_name": "", + "start_line": 216, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 217, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 221, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 229, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 233, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 238, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SimpleIntentBox", + "full_name": "", + "start_line": 244, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 245, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 26, + "max_depth": 6, + "node_type_counts": { + "file_root": 1, + "variable": 1, + "if_statement": 1, + "import": 4, + "function": 13, + "class": 6 + }, + "classes": 6, + "functions": 13, + "methods": 0, + "variables": 1, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.599018370Z" + }, + { + "file_info": { + "name": "socket_box.rs", + "path": "src/boxes/socket_box.rs", + "size_bytes": 0, + "total_lines": 510, + "code_lines": 367, + "comment_lines": 83, + "empty_lines": 60, + "code_ratio": 0.7196078431372549, + "analyzed_at": "2025-08-15T16:19:40.605776895Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "SocketBox", + "parent_class": null, + "start_line": 46, + "end_line": 55, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 57, + "end_line": 71, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Clone" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 73, + "end_line": 381, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 383, + "end_line": 448, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 450, + "end_line": 496, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 498, + "end_line": 502, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + }, + { + "name": "SocketBox", + "parent_class": null, + "start_line": 505, + "end_line": 510, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Drop" + } + } + ], + "functions": [ + { + "name": "clone", + "start_line": 58, + "end_line": 70, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 74, + "end_line": 82, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "bind", + "start_line": 85, + "end_line": 156, + "parameters": [ + "&self", + "address", + "port" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "listen", + "start_line": 159, + "end_line": 185, + "parameters": [ + "&self", + "backlog" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "accept", + "start_line": 188, + "end_line": 210, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "connect", + "start_line": 213, + "end_line": 235, + "parameters": [ + "&self", + "address", + "port" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "read", + "start_line": 238, + "end_line": 274, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "read_http_request", + "start_line": 277, + "end_line": 317, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "write", + "start_line": 320, + "end_line": 343, + "parameters": [ + "&self", + "data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "close", + "start_line": 346, + "end_line": 352, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_connected", + "start_line": 355, + "end_line": 357, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_server", + "start_line": 360, + "end_line": 380, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 384, + "end_line": 386, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 389, + "end_line": 398, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 400, + "end_line": 435, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 437, + "end_line": 439, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 441, + "end_line": 447, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 451, + "end_line": 453, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 455, + "end_line": 457, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 459, + "end_line": 487, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 489, + "end_line": 491, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 493, + "end_line": 495, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 499, + "end_line": 501, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "drop", + "start_line": 506, + "end_line": 509, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 37, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 38, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::net::{TcpListener, TcpStream}", + "imported_names": [], + "alias": null, + "line_number": 39, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::io::{Write, BufRead, BufReader}", + "imported_names": [], + "alias": null, + "line_number": 40, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, RwLock}", + "imported_names": [], + "alias": null, + "line_number": 41, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::time::Duration", + "imported_names": [], + "alias": null, + "line_number": 42, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 24, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 38, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 46, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 57, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 58, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 73, + "end_line": 381, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 74, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "bind", + "full_name": "", + "start_line": 85, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "listen", + "full_name": "", + "start_line": 159, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 168, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "accept", + "full_name": "", + "start_line": 188, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 190, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "connect", + "full_name": "", + "start_line": 213, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read", + "full_name": "", + "start_line": 238, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 246, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 247, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 252, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 254, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read_http_request", + "full_name": "", + "start_line": 277, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 278, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 279, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 284, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 289, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 296, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "write", + "full_name": "", + "start_line": 320, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 321, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 323, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 324, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "close", + "full_name": "", + "start_line": 346, + "end_line": 352, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_connected", + "full_name": "", + "start_line": 355, + "end_line": 357, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_server", + "full_name": "", + "start_line": 360, + "end_line": 380, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 383, + "end_line": 448, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 384, + "end_line": 386, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 389, + "end_line": 398, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 390, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 400, + "end_line": 435, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 404, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 415, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 426, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 426, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 428, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 437, + "end_line": 439, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 441, + "end_line": 447, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 442, + "end_line": 446, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 450, + "end_line": 496, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 451, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 455, + "end_line": 457, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 459, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 462, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 470, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 478, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 478, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 480, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 489, + "end_line": 491, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 493, + "end_line": 495, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 498, + "end_line": 502, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 499, + "end_line": 501, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SocketBox", + "full_name": "", + "start_line": 505, + "end_line": 510, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "drop", + "full_name": "", + "start_line": 506, + "end_line": 509, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 508, + "end_line": 508, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 84, + "max_depth": 22, + "node_type_counts": { + "if_statement": 13, + "variable": 32, + "file_root": 1, + "import": 6, + "function": 24, + "class": 7, + "for_loop": 1 + }, + "classes": 7, + "functions": 24, + "methods": 0, + "variables": 32, + "control_structures": 14 + }, + "generated_at": "2025-08-15T16:19:40.605808493Z" + }, + { + "file_info": { + "name": "sound_box.rs", + "path": "src/boxes/sound_box.rs", + "size_bytes": 0, + "total_lines": 371, + "code_lines": 177, + "comment_lines": 161, + "empty_lines": 33, + "code_ratio": 0.477088948787062, + "analyzed_at": "2025-08-15T16:19:40.599526202Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "SoundBox", + "parent_class": null, + "start_line": 149, + "end_line": 151, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "SoundBox", + "parent_class": null, + "start_line": 153, + "end_line": 314, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "SoundBox", + "parent_class": null, + "start_line": 316, + "end_line": 343, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "SoundBox", + "parent_class": null, + "start_line": 345, + "end_line": 365, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "SoundBox", + "parent_class": null, + "start_line": 367, + "end_line": 371, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 154, + "end_line": 158, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "beep", + "start_line": 161, + "end_line": 165, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "beeps", + "start_line": 168, + "end_line": 185, + "parameters": [ + "&self", + "count" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "tone", + "start_line": 188, + "end_line": 216, + "parameters": [ + "&self", + "frequency", + "duration" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "alert", + "start_line": 219, + "end_line": 228, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "success", + "start_line": 231, + "end_line": 237, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "error", + "start_line": 240, + "end_line": 246, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "pattern", + "start_line": 249, + "end_line": 284, + "parameters": [ + "&self", + "pattern" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "volumeTest", + "start_line": 287, + "end_line": 290, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "interval", + "start_line": 293, + "end_line": 313, + "parameters": [ + "&self", + "times", + "interval_ms" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 317, + "end_line": 319, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 321, + "end_line": 323, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 325, + "end_line": 327, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 330, + "end_line": 332, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 334, + "end_line": 340, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 346, + "end_line": 348, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 350, + "end_line": 352, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 354, + "end_line": 356, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 358, + "end_line": 360, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 362, + "end_line": 364, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 368, + "end_line": 370, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 141, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 142, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 143, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::process::Command", + "imported_names": [], + "alias": null, + "line_number": 144, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::time::Duration", + "imported_names": [], + "alias": null, + "line_number": 145, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 21, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 142, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 145, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SoundBox", + "full_name": "", + "start_line": 149, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SoundBox", + "full_name": "", + "start_line": 153, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 154, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "beep", + "full_name": "", + "start_line": 161, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "beeps", + "full_name": "", + "start_line": 168, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 170, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 179, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 176, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "tone", + "full_name": "", + "start_line": 188, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "alert", + "full_name": "", + "start_line": 219, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 221, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "success", + "full_name": "", + "start_line": 231, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "error", + "full_name": "", + "start_line": 240, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "pattern", + "full_name": "", + "start_line": 249, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 250, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 253, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "volumeTest", + "full_name": "", + "start_line": 287, + "end_line": 290, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "interval", + "full_name": "", + "start_line": 293, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 294, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 298, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 302, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 304, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SoundBox", + "full_name": "", + "start_line": 316, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 317, + "end_line": 319, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 321, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 325, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 330, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 334, + "end_line": 340, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 335, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SoundBox", + "full_name": "", + "start_line": 345, + "end_line": 365, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 346, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 350, + "end_line": 352, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 354, + "end_line": 356, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 358, + "end_line": 360, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 362, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SoundBox", + "full_name": "", + "start_line": 367, + "end_line": 371, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 368, + "end_line": 370, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 48, + "max_depth": 12, + "node_type_counts": { + "import": 5, + "file_root": 1, + "class": 5, + "function": 21, + "for_loop": 4, + "if_statement": 11, + "variable": 1 + }, + "classes": 5, + "functions": 21, + "methods": 0, + "variables": 1, + "control_structures": 15 + }, + "generated_at": "2025-08-15T16:19:40.599545613Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/stream/mod.rs", + "size_bytes": 0, + "total_lines": 230, + "code_lines": 178, + "comment_lines": 18, + "empty_lines": 34, + "code_ratio": 0.7739130434782608, + "analyzed_at": "2025-08-15T16:19:40.620228502Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashStreamBox", + "parent_class": null, + "start_line": 12, + "end_line": 16, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "NyashStreamBox", + "parent_class": null, + "start_line": 18, + "end_line": 136, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "NyashStreamBox", + "parent_class": null, + "start_line": 138, + "end_line": 171, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "NyashStreamBox", + "parent_class": null, + "start_line": 173, + "end_line": 195, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "NyashStreamBox", + "parent_class": null, + "start_line": 198, + "end_line": 208, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Clone", + "type": "impl" + } + }, + { + "name": "NyashStreamBox", + "parent_class": null, + "start_line": 211, + "end_line": 221, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Debug", + "type": "impl" + } + }, + { + "name": "NyashStreamBox", + "parent_class": null, + "start_line": 223, + "end_line": 227, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 19, + "end_line": 25, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "from_data", + "start_line": 27, + "end_line": 33, + "parameters": [ + "data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "read", + "start_line": 35, + "end_line": 49, + "parameters": [ + "&self", + "buf: &mut [u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "write", + "start_line": 51, + "end_line": 55, + "parameters": [ + "&self", + "buf: &[u8]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "len", + "start_line": 57, + "end_line": 59, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "position", + "start_line": 61, + "end_line": 63, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "reset", + "start_line": 65, + "end_line": 67, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "stream_write", + "start_line": 70, + "end_line": 101, + "parameters": [ + "&self", + "data" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "stream_read", + "start_line": 104, + "end_line": 119, + "parameters": [ + "&self", + "count" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_position", + "start_line": 122, + "end_line": 124, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_length", + "start_line": 127, + "end_line": 129, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "stream_reset", + "start_line": 132, + "end_line": 135, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clone_box", + "start_line": 139, + "end_line": 141, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 144, + "end_line": 146, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 148, + "end_line": 152, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 155, + "end_line": 157, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 160, + "end_line": 170, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 174, + "end_line": 176, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 178, + "end_line": 180, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 182, + "end_line": 186, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 188, + "end_line": 190, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 192, + "end_line": 194, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone", + "start_line": 199, + "end_line": 207, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 212, + "end_line": 220, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 224, + "end_line": 226, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, IntegerBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 5, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::buffer::BufferBox", + "imported_names": [], + "alias": null, + "line_number": 6, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::array::ArrayBox", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::RwLock", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::io::{Read, Write, Result}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 25, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 5, + "end_line": 5, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 6, + "end_line": 6, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashStreamBox", + "full_name": "", + "start_line": 12, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashStreamBox", + "full_name": "", + "start_line": 18, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 19, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_data", + "full_name": "", + "start_line": 27, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read", + "full_name": "", + "start_line": 35, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 40, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "write", + "full_name": "", + "start_line": 51, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "len", + "full_name": "", + "start_line": 57, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "position", + "full_name": "", + "start_line": 61, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "reset", + "full_name": "", + "start_line": 65, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stream_write", + "full_name": "", + "start_line": 70, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 76, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 79, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stream_read", + "full_name": "", + "start_line": 104, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_position", + "full_name": "", + "start_line": 122, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_length", + "full_name": "", + "start_line": 127, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stream_reset", + "full_name": "", + "start_line": 132, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashStreamBox", + "full_name": "", + "start_line": 138, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 139, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 144, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 148, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 155, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 160, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashStreamBox", + "full_name": "", + "start_line": 173, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 174, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 178, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 182, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 188, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 192, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashStreamBox", + "full_name": "", + "start_line": 198, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone", + "full_name": "", + "start_line": 199, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashStreamBox", + "full_name": "", + "start_line": 211, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 212, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashStreamBox", + "full_name": "", + "start_line": 223, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 224, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 70, + "max_depth": 18, + "node_type_counts": { + "import": 6, + "if_statement": 8, + "function": 25, + "variable": 22, + "for_loop": 1, + "class": 7, + "file_root": 1 + }, + "classes": 7, + "functions": 25, + "methods": 0, + "variables": 22, + "control_structures": 9 + }, + "generated_at": "2025-08-15T16:19:40.620245263Z" + }, + { + "file_info": { + "name": "string_box.rs", + "path": "src/boxes/string_box.rs", + "size_bytes": 0, + "total_lines": 187, + "code_lines": 118, + "comment_lines": 43, + "empty_lines": 26, + "code_ratio": 0.6310160427807486, + "analyzed_at": "2025-08-15T16:19:40.602560322Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "StringBox", + "parent_class": null, + "start_line": 36, + "end_line": 39, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 41, + "end_line": 130, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 132, + "end_line": 159, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 161, + "end_line": 181, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 183, + "end_line": 187, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 42, + "end_line": 47, + "parameters": [ + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "empty", + "start_line": 49, + "end_line": 51, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "split", + "start_line": 56, + "end_line": 67, + "parameters": [ + "&self", + "delimiter: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 58, + "end_line": 58, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 60, + "end_line": 60, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "find", + "start_line": 70, + "end_line": 76, + "parameters": [ + "&self", + "search: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "replace", + "start_line": 79, + "end_line": 81, + "parameters": [ + "&self", + "old: &str", + "new: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "trim", + "start_line": 84, + "end_line": 86, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "to_upper", + "start_line": 89, + "end_line": 91, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "to_lower", + "start_line": 94, + "end_line": 96, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "contains", + "start_line": 99, + "end_line": 102, + "parameters": [ + "&self", + "search: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "starts_with", + "start_line": 105, + "end_line": 108, + "parameters": [ + "&self", + "prefix: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "ends_with", + "start_line": 111, + "end_line": 114, + "parameters": [ + "&self", + "suffix: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "join", + "start_line": 117, + "end_line": 129, + "parameters": [ + "&self", + "array_box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 122, + "end_line": 122, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "to_string_box", + "start_line": 133, + "end_line": 135, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 137, + "end_line": 144, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 146, + "end_line": 148, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 151, + "end_line": 153, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 156, + "end_line": 158, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 162, + "end_line": 164, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 166, + "end_line": 168, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 170, + "end_line": 172, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 174, + "end_line": 176, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 178, + "end_line": 180, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 184, + "end_line": 186, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 30, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 31, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::Display", + "imported_names": [], + "alias": null, + "line_number": 32, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::array::ArrayBox", + "imported_names": [], + "alias": null, + "line_number": 57, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::IntegerBox", + "imported_names": [], + "alias": null, + "line_number": 71, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::BoolBox", + "imported_names": [], + "alias": null, + "line_number": 100, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::BoolBox", + "imported_names": [], + "alias": null, + "line_number": 106, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::BoolBox", + "imported_names": [], + "alias": null, + "line_number": 112, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::array::ArrayBox", + "imported_names": [], + "alias": null, + "line_number": 118, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::BoolBox", + "imported_names": [], + "alias": null, + "line_number": 138, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 26, + "import_count": 10, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 30, + "end_line": 30, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 31, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 32, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 36, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 41, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 42, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "empty", + "full_name": "", + "start_line": 49, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "split", + "full_name": "", + "start_line": 56, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 58, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec>", + "full_name": "", + "start_line": 59, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "find", + "full_name": "", + "start_line": 70, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "replace", + "full_name": "", + "start_line": 79, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "trim", + "full_name": "", + "start_line": 84, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_upper", + "full_name": "", + "start_line": 89, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_lower", + "full_name": "", + "start_line": 94, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "contains", + "full_name": "", + "start_line": 99, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 100, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "starts_with", + "full_name": "", + "start_line": 105, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ends_with", + "full_name": "", + "start_line": 111, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 112, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "join", + "full_name": "", + "start_line": 117, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 119, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 120, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 132, + "end_line": 159, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 133, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 137, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 146, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 151, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 156, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 161, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 162, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 166, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 170, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 174, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 178, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 183, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 184, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 46, + "max_depth": 8, + "node_type_counts": { + "if_statement": 2, + "import": 10, + "for_loop": 1, + "function": 23, + "class": 5, + "file_root": 1, + "variable": 4 + }, + "classes": 5, + "functions": 23, + "methods": 0, + "variables": 4, + "control_structures": 3 + }, + "generated_at": "2025-08-15T16:19:40.602570109Z" + }, + { + "file_info": { + "name": "timer_box.rs", + "path": "src/boxes/timer_box.rs", + "size_bytes": 0, + "total_lines": 247, + "code_lines": 158, + "comment_lines": 57, + "empty_lines": 32, + "code_ratio": 0.6396761133603239, + "analyzed_at": "2025-08-15T16:19:40.602937137Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "TimerBox", + "parent_class": null, + "start_line": 59, + "end_line": 63, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "TimerBox", + "parent_class": null, + "start_line": 65, + "end_line": 192, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "TimerBox", + "parent_class": null, + "start_line": 194, + "end_line": 214, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "TimerBox", + "parent_class": null, + "start_line": 216, + "end_line": 241, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "TimerBox", + "parent_class": null, + "start_line": 243, + "end_line": 247, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 66, + "end_line": 75, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 68, + "end_line": 68, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "now", + "start_line": 78, + "end_line": 96, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "performance_now", + "start_line": 99, + "end_line": 101, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_timeout", + "start_line": 105, + "end_line": 112, + "parameters": [ + "&self", + "callback: &js_sys::Function", + "delay: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_interval", + "start_line": 116, + "end_line": 123, + "parameters": [ + "&self", + "callback: &js_sys::Function", + "interval: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clear_timeout", + "start_line": 127, + "end_line": 131, + "parameters": [ + "&self", + "id: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear_interval", + "start_line": 135, + "end_line": 139, + "parameters": [ + "&self", + "id: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "request_animation_frame", + "start_line": 143, + "end_line": 149, + "parameters": [ + "&self", + "callback: &js_sys::Function" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "cancel_animation_frame", + "start_line": 153, + "end_line": 157, + "parameters": [ + "&self", + "id: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_timeout", + "start_line": 161, + "end_line": 164, + "parameters": [ + "&self", + "_delay: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_interval", + "start_line": 167, + "end_line": 170, + "parameters": [ + "&self", + "_interval: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear_timeout", + "start_line": 173, + "end_line": 175, + "parameters": [ + "&self", + "_id: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear_interval", + "start_line": 178, + "end_line": 180, + "parameters": [ + "&self", + "_id: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "request_animation_frame", + "start_line": 183, + "end_line": 186, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "cancel_animation_frame", + "start_line": 189, + "end_line": 191, + "parameters": [ + "&self", + "_id: i32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 195, + "end_line": 197, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 199, + "end_line": 201, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 203, + "end_line": 205, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 207, + "end_line": 209, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 211, + "end_line": 213, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 217, + "end_line": 219, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 222, + "end_line": 224, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 226, + "end_line": 228, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 230, + "end_line": 232, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 234, + "end_line": 240, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 244, + "end_line": 246, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 48, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 49, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm_bindgen::prelude::*", + "imported_names": [], + "alias": null, + "line_number": 52, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "web_sys::{window, Performance}", + "imported_names": [], + "alias": null, + "line_number": 55, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::time::{SystemTime, UNIX_EPOCH}", + "imported_names": [], + "alias": null, + "line_number": 90, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 27, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 59, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 65, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 66, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "now", + "full_name": "", + "start_line": 78, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "performance_now", + "full_name": "", + "start_line": 99, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_timeout", + "full_name": "", + "start_line": 105, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_interval", + "full_name": "", + "start_line": 116, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 117, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear_timeout", + "full_name": "", + "start_line": 127, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear_interval", + "full_name": "", + "start_line": 135, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "request_animation_frame", + "full_name": "", + "start_line": 143, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "cancel_animation_frame", + "full_name": "", + "start_line": 153, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_timeout", + "full_name": "", + "start_line": 161, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_interval", + "full_name": "", + "start_line": 167, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear_timeout", + "full_name": "", + "start_line": 173, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear_interval", + "full_name": "", + "start_line": 178, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "request_animation_frame", + "full_name": "", + "start_line": 183, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "cancel_animation_frame", + "full_name": "", + "start_line": 189, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 194, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 195, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 199, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 203, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 207, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 211, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 216, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 217, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 222, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 226, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 230, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 234, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 235, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 243, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 244, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 46, + "max_depth": 8, + "node_type_counts": { + "function": 26, + "variable": 1, + "file_root": 1, + "import": 5, + "class": 5, + "if_statement": 8 + }, + "classes": 5, + "functions": 26, + "methods": 0, + "variables": 1, + "control_structures": 8 + }, + "generated_at": "2025-08-15T16:19:40.602951139Z" + }, + { + "file_info": { + "name": "time_box.rs", + "path": "src/boxes/time_box.rs", + "size_bytes": 0, + "total_lines": 509, + "code_lines": 298, + "comment_lines": 148, + "empty_lines": 63, + "code_ratio": 0.5854616895874263, + "analyzed_at": "2025-08-15T16:19:40.605455941Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "TimeBox", + "parent_class": null, + "start_line": 129, + "end_line": 131, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "TimeBox", + "parent_class": null, + "start_line": 133, + "end_line": 188, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "TimeBox", + "parent_class": null, + "start_line": 190, + "end_line": 216, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "TimeBox", + "parent_class": null, + "start_line": 218, + "end_line": 238, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "TimeBox", + "parent_class": null, + "start_line": 240, + "end_line": 244, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "DateTimeBox", + "parent_class": null, + "start_line": 248, + "end_line": 251, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "DateTimeBox", + "parent_class": null, + "start_line": 253, + "end_line": 364, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "DateTimeBox", + "parent_class": null, + "start_line": 366, + "end_line": 392, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "DateTimeBox", + "parent_class": null, + "start_line": 394, + "end_line": 414, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "DateTimeBox", + "parent_class": null, + "start_line": 416, + "end_line": 420, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "TimerBox", + "parent_class": null, + "start_line": 424, + "end_line": 427, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "TimerBox", + "parent_class": null, + "start_line": 429, + "end_line": 453, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "TimerBox", + "parent_class": null, + "start_line": 455, + "end_line": 481, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "TimerBox", + "parent_class": null, + "start_line": 483, + "end_line": 503, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "TimerBox", + "parent_class": null, + "start_line": 505, + "end_line": 509, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 134, + "end_line": 136, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "now", + "start_line": 139, + "end_line": 141, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "fromTimestamp", + "start_line": 144, + "end_line": 150, + "parameters": [ + "&self", + "timestamp" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "parse", + "start_line": 153, + "end_line": 162, + "parameters": [ + "&self", + "date_str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "sleep", + "start_line": 165, + "end_line": 176, + "parameters": [ + "&self", + "millis" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "format", + "start_line": 179, + "end_line": 187, + "parameters": [ + "&self", + "format_str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "type_name", + "start_line": 191, + "end_line": 193, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 195, + "end_line": 197, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 199, + "end_line": 201, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 204, + "end_line": 206, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 208, + "end_line": 214, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 219, + "end_line": 221, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 223, + "end_line": 225, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 227, + "end_line": 229, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 231, + "end_line": 233, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 235, + "end_line": 237, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 241, + "end_line": 243, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "now", + "start_line": 255, + "end_line": 260, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "from_timestamp", + "start_line": 263, + "end_line": 266, + "parameters": [ + "timestamp: i64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "parse", + "start_line": 269, + "end_line": 287, + "parameters": [ + "date_str: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "year", + "start_line": 290, + "end_line": 292, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "month", + "start_line": 295, + "end_line": 297, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "day", + "start_line": 300, + "end_line": 302, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "hour", + "start_line": 305, + "end_line": 307, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "minute", + "start_line": 310, + "end_line": 312, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "second", + "start_line": 315, + "end_line": 317, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "timestamp", + "start_line": 320, + "end_line": 322, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "toISOString", + "start_line": 325, + "end_line": 327, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "format", + "start_line": 330, + "end_line": 337, + "parameters": [ + "&self", + "fmt" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "addDays", + "start_line": 340, + "end_line": 350, + "parameters": [ + "&self", + "days" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "addHours", + "start_line": 353, + "end_line": 363, + "parameters": [ + "&self", + "hours" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 367, + "end_line": 369, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 371, + "end_line": 373, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 375, + "end_line": 377, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 380, + "end_line": 382, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 384, + "end_line": 390, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 395, + "end_line": 397, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 399, + "end_line": 401, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 403, + "end_line": 405, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 407, + "end_line": 409, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 411, + "end_line": 413, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 417, + "end_line": 419, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 430, + "end_line": 435, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "elapsed", + "start_line": 438, + "end_line": 446, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "reset", + "start_line": 449, + "end_line": 452, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "type_name", + "start_line": 456, + "end_line": 458, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 460, + "end_line": 462, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 464, + "end_line": 466, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 469, + "end_line": 471, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 473, + "end_line": 479, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 484, + "end_line": 486, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 488, + "end_line": 490, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 492, + "end_line": 494, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 496, + "end_line": 498, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 500, + "end_line": 502, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 506, + "end_line": 508, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 121, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 122, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 123, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::time::{SystemTime, Duration}", + "imported_names": [], + "alias": null, + "line_number": 124, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "chrono::{DateTime, Local, TimeZone, Datelike, Timelike}", + "imported_names": [], + "alias": null, + "line_number": 125, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 15, + "function_count": 56, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 124, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimeBox", + "full_name": "", + "start_line": 129, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimeBox", + "full_name": "", + "start_line": 133, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 134, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "now", + "full_name": "", + "start_line": 139, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fromTimestamp", + "full_name": "", + "start_line": 144, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 145, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse", + "full_name": "", + "start_line": 153, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "sleep", + "full_name": "", + "start_line": 165, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 167, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "format", + "full_name": "", + "start_line": 179, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 180, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 181, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 182, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimeBox", + "full_name": "", + "start_line": 190, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 191, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 195, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 199, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 204, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 208, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 209, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimeBox", + "full_name": "", + "start_line": 218, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 219, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 223, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 227, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 231, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 235, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimeBox", + "full_name": "", + "start_line": 240, + "end_line": 244, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 241, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DateTimeBox", + "full_name": "", + "start_line": 248, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DateTimeBox", + "full_name": "", + "start_line": 253, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "now", + "full_name": "", + "start_line": 255, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_timestamp", + "full_name": "", + "start_line": 263, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 264, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse", + "full_name": "", + "start_line": 269, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 280, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "year", + "full_name": "", + "start_line": 290, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "month", + "full_name": "", + "start_line": 295, + "end_line": 297, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "day", + "full_name": "", + "start_line": 300, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "hour", + "full_name": "", + "start_line": 305, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "minute", + "full_name": "", + "start_line": 310, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "second", + "full_name": "", + "start_line": 315, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "timestamp", + "full_name": "", + "start_line": 320, + "end_line": 322, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "toISOString", + "full_name": "", + "start_line": 325, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "format", + "full_name": "", + "start_line": 330, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 331, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 332, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "addDays", + "full_name": "", + "start_line": 340, + "end_line": 350, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 341, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 342, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "addHours", + "full_name": "", + "start_line": 353, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 354, + "end_line": 362, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 355, + "end_line": 355, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DateTimeBox", + "full_name": "", + "start_line": 366, + "end_line": 392, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 367, + "end_line": 369, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 371, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 375, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 380, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 384, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 385, + "end_line": 389, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DateTimeBox", + "full_name": "", + "start_line": 394, + "end_line": 414, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 395, + "end_line": 397, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 399, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 403, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 407, + "end_line": 409, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 411, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DateTimeBox", + "full_name": "", + "start_line": 416, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 417, + "end_line": 419, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 424, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 429, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 430, + "end_line": 435, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "elapsed", + "full_name": "", + "start_line": 438, + "end_line": 446, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 441, + "end_line": 441, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "reset", + "full_name": "", + "start_line": 449, + "end_line": 452, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 455, + "end_line": 481, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 456, + "end_line": 458, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 460, + "end_line": 462, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 464, + "end_line": 466, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 469, + "end_line": 471, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 473, + "end_line": 479, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 474, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 483, + "end_line": 503, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 484, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 488, + "end_line": 490, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 492, + "end_line": 494, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 496, + "end_line": 498, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 500, + "end_line": 502, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TimerBox", + "full_name": "", + "start_line": 505, + "end_line": 509, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 506, + "end_line": 508, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 96, + "max_depth": 15, + "node_type_counts": { + "file_root": 1, + "if_statement": 11, + "function": 56, + "variable": 8, + "import": 5, + "class": 15 + }, + "classes": 15, + "functions": 56, + "methods": 0, + "variables": 8, + "control_structures": 11 + }, + "generated_at": "2025-08-15T16:19:40.605483217Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/boxes/web/mod.rs", + "size_bytes": 0, + "total_lines": 24, + "code_lines": 12, + "comment_lines": 6, + "empty_lines": 6, + "code_ratio": 0.5, + "analyzed_at": "2025-08-15T16:19:40.607801797Z", + "metadata": {} + }, + "language": "rust", + "classes": [], + "functions": [], + "imports": [ + { + "type": "rust_use", + "module_path": "web_display_box::WebDisplayBox", + "imported_names": [], + "alias": null, + "line_number": 18, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "web_console_box::WebConsoleBox", + "imported_names": [], + "alias": null, + "line_number": 21, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "web_canvas_box::WebCanvasBox", + "imported_names": [], + "alias": null, + "line_number": 24, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 0, + "function_count": 0, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 18, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 21, + "end_line": 21, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 24, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 4, + "max_depth": 1, + "node_type_counts": { + "import": 3, + "file_root": 1 + }, + "classes": 0, + "functions": 0, + "methods": 0, + "variables": 0, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.607803166Z" + }, + { + "file_info": { + "name": "web_canvas_box.rs", + "path": "src/boxes/web/web_canvas_box.rs", + "size_bytes": 0, + "total_lines": 324, + "code_lines": 241, + "comment_lines": 35, + "empty_lines": 48, + "code_ratio": 0.7438271604938271, + "analyzed_at": "2025-08-15T16:19:40.607740196Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "WebCanvasBox", + "parent_class": null, + "start_line": 23, + "end_line": 28, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "WebCanvasBox", + "parent_class": null, + "start_line": 31, + "end_line": 262, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "WebCanvasBox", + "parent_class": null, + "start_line": 265, + "end_line": 282, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "WebCanvasBox", + "parent_class": null, + "start_line": 285, + "end_line": 317, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "WebCanvasBox", + "parent_class": null, + "start_line": 320, + "end_line": 324, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 32, + "end_line": 47, + "parameters": [ + "canvas_id: String", + "width: u32", + "height: u32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_canvas_element", + "start_line": 50, + "end_line": 55, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "get_2d_context", + "start_line": 58, + "end_line": 64, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 63, + "end_line": 63, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "clear", + "start_line": 67, + "end_line": 71, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_fill_style", + "start_line": 74, + "end_line": 78, + "parameters": [ + "&self", + "color: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_stroke_style", + "start_line": 81, + "end_line": 85, + "parameters": [ + "&self", + "color: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_line_width", + "start_line": 88, + "end_line": 92, + "parameters": [ + "&self", + "width: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fill_rect", + "start_line": 95, + "end_line": 100, + "parameters": [ + "&self", + "x: f64", + "y: f64", + "width: f64", + "height: f64", + "color: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "stroke_rect", + "start_line": 103, + "end_line": 109, + "parameters": [ + "&self", + "x: f64", + "y: f64", + "width: f64", + "height: f64", + "color: &str", + "line_width: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "fill_circle", + "start_line": 112, + "end_line": 119, + "parameters": [ + "&self", + "x: f64", + "y: f64", + "radius: f64", + "color: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "stroke_circle", + "start_line": 122, + "end_line": 130, + "parameters": [ + "&self", + "x: f64", + "y: f64", + "radius: f64", + "color: &str", + "line_width: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "draw_line", + "start_line": 133, + "end_line": 142, + "parameters": [ + "&self", + "x1: f64", + "y1: f64", + "x2: f64", + "y2: f64", + "color: &str", + "line_width: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "fill_text", + "start_line": 145, + "end_line": 151, + "parameters": [ + "&self", + "text: &str", + "x: f64", + "y: f64", + "font: &str", + "color: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "stroke_text", + "start_line": 154, + "end_line": 161, + "parameters": [ + "&self", + "text: &str", + "x: f64", + "y: f64", + "font: &str", + "color: &str", + "line_width: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "begin_path", + "start_line": 164, + "end_line": 168, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "move_to", + "start_line": 171, + "end_line": 175, + "parameters": [ + "&self", + "x: f64", + "y: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "line_to", + "start_line": 178, + "end_line": 182, + "parameters": [ + "&self", + "x: f64", + "y: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "close_path", + "start_line": 185, + "end_line": 189, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fill", + "start_line": 192, + "end_line": 197, + "parameters": [ + "&self", + "color: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "stroke", + "start_line": 200, + "end_line": 206, + "parameters": [ + "&self", + "color: &str", + "line_width: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "save", + "start_line": 209, + "end_line": 213, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "restore", + "start_line": 216, + "end_line": 220, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "rotate", + "start_line": 223, + "end_line": 227, + "parameters": [ + "&self", + "angle: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "scale", + "start_line": 230, + "end_line": 234, + "parameters": [ + "&self", + "x: f64", + "y: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "translate", + "start_line": 237, + "end_line": 241, + "parameters": [ + "&self", + "x: f64", + "y: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_width", + "start_line": 244, + "end_line": 246, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_height", + "start_line": 248, + "end_line": 250, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "resize", + "start_line": 253, + "end_line": 261, + "parameters": [ + "&mut self", + "width: u32", + "height: u32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 266, + "end_line": 268, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 270, + "end_line": 272, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 274, + "end_line": 276, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 279, + "end_line": 281, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 286, + "end_line": 288, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 291, + "end_line": 293, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 295, + "end_line": 302, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 305, + "end_line": 307, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 310, + "end_line": 316, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 321, + "end_line": 323, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm_bindgen::prelude::*", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "web_sys::{\n HtmlCanvasElement, \n CanvasRenderingContext2d,\n}", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 39, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebCanvasBox", + "full_name": "", + "start_line": 23, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebCanvasBox", + "full_name": "", + "start_line": 31, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 32, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 33, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 41, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_canvas_element", + "full_name": "", + "start_line": 50, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_2d_context", + "full_name": "", + "start_line": 58, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear", + "full_name": "", + "start_line": 67, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_fill_style", + "full_name": "", + "start_line": 74, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_stroke_style", + "full_name": "", + "start_line": 81, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_line_width", + "full_name": "", + "start_line": 88, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fill_rect", + "full_name": "", + "start_line": 95, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stroke_rect", + "full_name": "", + "start_line": 103, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fill_circle", + "full_name": "", + "start_line": 112, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 113, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stroke_circle", + "full_name": "", + "start_line": 122, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "draw_line", + "full_name": "", + "start_line": 133, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fill_text", + "full_name": "", + "start_line": 145, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stroke_text", + "full_name": "", + "start_line": 154, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 155, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "begin_path", + "full_name": "", + "start_line": 164, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "move_to", + "full_name": "", + "start_line": 171, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 172, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "line_to", + "full_name": "", + "start_line": 178, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "close_path", + "full_name": "", + "start_line": 185, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fill", + "full_name": "", + "start_line": 192, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stroke", + "full_name": "", + "start_line": 200, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "save", + "full_name": "", + "start_line": 209, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 210, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "restore", + "full_name": "", + "start_line": 216, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "rotate", + "full_name": "", + "start_line": 223, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "scale", + "full_name": "", + "start_line": 230, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "translate", + "full_name": "", + "start_line": 237, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 238, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_width", + "full_name": "", + "start_line": 244, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_height", + "full_name": "", + "start_line": 248, + "end_line": 250, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resize", + "full_name": "", + "start_line": 253, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 257, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebCanvasBox", + "full_name": "", + "start_line": 265, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 266, + "end_line": 268, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 270, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 274, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 279, + "end_line": 281, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebCanvasBox", + "full_name": "", + "start_line": 285, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 286, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 291, + "end_line": 293, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 295, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 305, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 310, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 311, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebCanvasBox", + "full_name": "", + "start_line": 320, + "end_line": 324, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 321, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 78, + "max_depth": 6, + "node_type_counts": { + "if_statement": 25, + "class": 5, + "file_root": 1, + "import": 4, + "function": 38, + "variable": 5 + }, + "classes": 5, + "functions": 38, + "methods": 0, + "variables": 5, + "control_structures": 25 + }, + "generated_at": "2025-08-15T16:19:40.607755773Z" + }, + { + "file_info": { + "name": "web_console_box.rs", + "path": "src/boxes/web/web_console_box.rs", + "size_bytes": 0, + "total_lines": 196, + "code_lines": 143, + "comment_lines": 20, + "empty_lines": 33, + "code_ratio": 0.7295918367346939, + "analyzed_at": "2025-08-15T16:19:40.607646876Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "WebConsoleBox", + "parent_class": null, + "start_line": 20, + "end_line": 23, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "WebConsoleBox", + "parent_class": null, + "start_line": 26, + "end_line": 139, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "WebConsoleBox", + "parent_class": null, + "start_line": 142, + "end_line": 159, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "WebConsoleBox", + "parent_class": null, + "start_line": 162, + "end_line": 189, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "WebConsoleBox", + "parent_class": null, + "start_line": 192, + "end_line": 196, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 27, + "end_line": 32, + "parameters": [ + "element_id: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_target_element", + "start_line": 35, + "end_line": 39, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "append_console_line", + "start_line": 42, + "end_line": 73, + "parameters": [ + "&self", + "message: &str", + "level: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "log", + "start_line": 76, + "end_line": 78, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "warn", + "start_line": 81, + "end_line": 83, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "error", + "start_line": 86, + "end_line": 88, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "info", + "start_line": 91, + "end_line": 93, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "debug", + "start_line": 96, + "end_line": 98, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear", + "start_line": 101, + "end_line": 105, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "separator", + "start_line": 108, + "end_line": 115, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "group", + "start_line": 118, + "end_line": 128, + "parameters": [ + "&self", + "title: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "group_end", + "start_line": 131, + "end_line": 138, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 143, + "end_line": 145, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 147, + "end_line": 149, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 151, + "end_line": 153, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 156, + "end_line": 158, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 163, + "end_line": 165, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 168, + "end_line": 170, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 172, + "end_line": 174, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 177, + "end_line": 179, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 182, + "end_line": 188, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 193, + "end_line": 195, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm_bindgen::prelude::*", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "web_sys::{Element, HtmlElement}", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 22, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebConsoleBox", + "full_name": "", + "start_line": 20, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebConsoleBox", + "full_name": "", + "start_line": 26, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 27, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_target_element", + "full_name": "", + "start_line": 35, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "append_console_line", + "full_name": "", + "start_line": 42, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 47, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 56, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "log", + "full_name": "", + "start_line": 76, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "warn", + "full_name": "", + "start_line": 81, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "error", + "full_name": "", + "start_line": 86, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "info", + "full_name": "", + "start_line": 91, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "debug", + "full_name": "", + "start_line": 96, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear", + "full_name": "", + "start_line": 101, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "separator", + "full_name": "", + "start_line": 108, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 110, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 112, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "group", + "full_name": "", + "start_line": 118, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 119, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 120, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "group_end", + "full_name": "", + "start_line": 131, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 132, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 133, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebConsoleBox", + "full_name": "", + "start_line": 142, + "end_line": 159, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 143, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 147, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 151, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 156, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebConsoleBox", + "full_name": "", + "start_line": 162, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 163, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 168, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 172, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 177, + "end_line": 179, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 182, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebConsoleBox", + "full_name": "", + "start_line": 192, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 193, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 56, + "max_depth": 9, + "node_type_counts": { + "file_root": 1, + "variable": 17, + "import": 4, + "function": 22, + "if_statement": 7, + "class": 5 + }, + "classes": 5, + "functions": 22, + "methods": 0, + "variables": 17, + "control_structures": 7 + }, + "generated_at": "2025-08-15T16:19:40.607657Z" + }, + { + "file_info": { + "name": "web_display_box.rs", + "path": "src/boxes/web/web_display_box.rs", + "size_bytes": 0, + "total_lines": 189, + "code_lines": 138, + "comment_lines": 21, + "empty_lines": 30, + "code_ratio": 0.7301587301587301, + "analyzed_at": "2025-08-15T16:19:40.610245248Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "WebDisplayBox", + "parent_class": null, + "start_line": 20, + "end_line": 23, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "WebDisplayBox", + "parent_class": null, + "start_line": 26, + "end_line": 132, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "WebDisplayBox", + "parent_class": null, + "start_line": 135, + "end_line": 152, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "WebDisplayBox", + "parent_class": null, + "start_line": 155, + "end_line": 182, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "WebDisplayBox", + "parent_class": null, + "start_line": 185, + "end_line": 189, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 27, + "end_line": 32, + "parameters": [ + "element_id: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_target_element", + "start_line": 35, + "end_line": 39, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "print", + "start_line": 42, + "end_line": 52, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "println", + "start_line": 55, + "end_line": 65, + "parameters": [ + "&self", + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_html", + "start_line": 68, + "end_line": 72, + "parameters": [ + "&self", + "html_content: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "append_html", + "start_line": 75, + "end_line": 81, + "parameters": [ + "&self", + "html_content: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_css", + "start_line": 84, + "end_line": 91, + "parameters": [ + "&self", + "property: &str", + "value: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add_class", + "start_line": 94, + "end_line": 98, + "parameters": [ + "&self", + "class_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "remove_class", + "start_line": 101, + "end_line": 105, + "parameters": [ + "&self", + "class_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "clear", + "start_line": 108, + "end_line": 112, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "show", + "start_line": 115, + "end_line": 117, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "hide", + "start_line": 120, + "end_line": 122, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "scroll_to_bottom", + "start_line": 125, + "end_line": 131, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 136, + "end_line": 138, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 140, + "end_line": 142, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 144, + "end_line": 146, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 149, + "end_line": 151, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 156, + "end_line": 158, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 161, + "end_line": 163, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 165, + "end_line": 167, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 170, + "end_line": 172, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 175, + "end_line": 181, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 186, + "end_line": 188, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm_bindgen::prelude::*", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "web_sys::{Element, HtmlElement}", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 23, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebDisplayBox", + "full_name": "", + "start_line": 20, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebDisplayBox", + "full_name": "", + "start_line": 26, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 27, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_target_element", + "full_name": "", + "start_line": 35, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "print", + "full_name": "", + "start_line": 42, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "println", + "full_name": "", + "start_line": 55, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 56, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_html", + "full_name": "", + "start_line": 68, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "append_html", + "full_name": "", + "start_line": 75, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 76, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_css", + "full_name": "", + "start_line": 84, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_class", + "full_name": "", + "start_line": 94, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "remove_class", + "full_name": "", + "start_line": 101, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear", + "full_name": "", + "start_line": 108, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "show", + "full_name": "", + "start_line": 115, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "hide", + "full_name": "", + "start_line": 120, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "scroll_to_bottom", + "full_name": "", + "start_line": 125, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 126, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebDisplayBox", + "full_name": "", + "start_line": 135, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 136, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 144, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 149, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebDisplayBox", + "full_name": "", + "start_line": 155, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 156, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 161, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 165, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 170, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 175, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 176, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "WebDisplayBox", + "full_name": "", + "start_line": 185, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 186, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 58, + "max_depth": 11, + "node_type_counts": { + "function": 23, + "file_root": 1, + "class": 5, + "variable": 11, + "import": 4, + "if_statement": 14 + }, + "classes": 5, + "functions": 23, + "methods": 0, + "variables": 11, + "control_structures": 14 + }, + "generated_at": "2025-08-15T16:19:40.610254948Z" + }, + { + "file_info": { + "name": "box_arithmetic.rs", + "path": "src/box_arithmetic.rs", + "size_bytes": 0, + "total_lines": 742, + "code_lines": 591, + "comment_lines": 54, + "empty_lines": 97, + "code_ratio": 0.7964959568733153, + "analyzed_at": "2025-08-15T16:19:40.605486849Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "AddBox", + "parent_class": null, + "start_line": 15, + "end_line": 19, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "AddBox", + "parent_class": null, + "start_line": 21, + "end_line": 76, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "AddBox", + "parent_class": null, + "start_line": 78, + "end_line": 86, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Debug" + } + }, + { + "name": "AddBox", + "parent_class": null, + "start_line": 88, + "end_line": 120, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "AddBox", + "parent_class": null, + "start_line": 122, + "end_line": 142, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "AddBox", + "parent_class": null, + "start_line": 144, + "end_line": 148, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 151, + "end_line": 155, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 157, + "end_line": 192, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 194, + "end_line": 202, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Debug", + "type": "impl" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 204, + "end_line": 230, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 232, + "end_line": 240, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "SubtractBox", + "parent_class": null, + "start_line": 242, + "end_line": 246, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 249, + "end_line": 253, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 255, + "end_line": 289, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 291, + "end_line": 299, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Debug" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 301, + "end_line": 327, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 329, + "end_line": 337, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "MultiplyBox", + "parent_class": null, + "start_line": 339, + "end_line": 343, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 346, + "end_line": 350, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 352, + "end_line": 395, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 397, + "end_line": 405, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Debug", + "type": "impl" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 407, + "end_line": 433, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 435, + "end_line": 443, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "DivideBox", + "parent_class": null, + "start_line": 445, + "end_line": 449, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 452, + "end_line": 456, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 458, + "end_line": 499, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 501, + "end_line": 508, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Debug" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 510, + "end_line": 524, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 526, + "end_line": 555, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "ModuloBox", + "parent_class": null, + "start_line": 557, + "end_line": 561, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "CompareBox", + "parent_class": null, + "start_line": 564, + "end_line": 564, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "CompareBox", + "parent_class": null, + "start_line": 566, + "end_line": 635, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 22, + "end_line": 28, + "parameters": [ + "left", + "right" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute", + "start_line": 31, + "end_line": 75, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 79, + "end_line": 85, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 89, + "end_line": 92, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 94, + "end_line": 103, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 105, + "end_line": 107, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 109, + "end_line": 114, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 117, + "end_line": 119, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 123, + "end_line": 125, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 127, + "end_line": 129, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 131, + "end_line": 133, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 135, + "end_line": 137, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 139, + "end_line": 141, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 145, + "end_line": 147, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 158, + "end_line": 164, + "parameters": [ + "left", + "right" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute", + "start_line": 167, + "end_line": 191, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 195, + "end_line": 201, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 205, + "end_line": 208, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 210, + "end_line": 219, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 221, + "end_line": 221, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 222, + "end_line": 224, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 227, + "end_line": 229, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 233, + "end_line": 233, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 234, + "end_line": 234, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 235, + "end_line": 237, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 238, + "end_line": 238, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 239, + "end_line": 239, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 243, + "end_line": 245, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 256, + "end_line": 262, + "parameters": [ + "left", + "right" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute", + "start_line": 265, + "end_line": 288, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 292, + "end_line": 298, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 302, + "end_line": 305, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 307, + "end_line": 316, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 318, + "end_line": 318, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 319, + "end_line": 321, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 324, + "end_line": 326, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 330, + "end_line": 330, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 331, + "end_line": 331, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 332, + "end_line": 334, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 335, + "end_line": 335, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 336, + "end_line": 336, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 340, + "end_line": 342, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 353, + "end_line": 359, + "parameters": [ + "left", + "right" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "execute", + "start_line": 362, + "end_line": 394, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 398, + "end_line": 404, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 408, + "end_line": 411, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 413, + "end_line": 422, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 424, + "end_line": 424, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 425, + "end_line": 427, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 430, + "end_line": 432, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 436, + "end_line": 436, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 437, + "end_line": 437, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 438, + "end_line": 440, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 441, + "end_line": 441, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 442, + "end_line": 442, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 446, + "end_line": 448, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 459, + "end_line": 465, + "parameters": [ + "left", + "right" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute", + "start_line": 468, + "end_line": 498, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 502, + "end_line": 507, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 511, + "end_line": 511, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 512, + "end_line": 512, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 513, + "end_line": 515, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 517, + "end_line": 519, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 521, + "end_line": 523, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 527, + "end_line": 530, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 532, + "end_line": 541, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 543, + "end_line": 545, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 547, + "end_line": 549, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 552, + "end_line": 554, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 558, + "end_line": 560, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 568, + "end_line": 570, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "less", + "start_line": 573, + "end_line": 586, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "greater", + "start_line": 589, + "end_line": 602, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "less_equal", + "start_line": 605, + "end_line": 618, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "greater_equal", + "start_line": 621, + "end_line": 634, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_add_box_integers", + "start_line": 642, + "end_line": 649, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_add_box_strings", + "start_line": 652, + "end_line": 659, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_subtract_box", + "start_line": 662, + "end_line": 669, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_multiply_box", + "start_line": 672, + "end_line": 679, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_divide_box", + "start_line": 682, + "end_line": 690, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_divide_by_zero", + "start_line": 693, + "end_line": 700, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_modulo_box", + "start_line": 703, + "end_line": 710, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_modulo_by_zero", + "start_line": 713, + "end_line": 720, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_modulo_chip8_pattern", + "start_line": 723, + "end_line": 731, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_compare_box", + "start_line": 734, + "end_line": 741, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, BoxCore, StringBox, IntegerBox, BoolBox, VoidBox, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::math_box::FloatBox", + "imported_names": [], + "alias": null, + "line_number": 32, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::math_box::FloatBox", + "imported_names": [], + "alias": null, + "line_number": 363, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 639, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 32, + "function_count": 85, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 15, + "end_line": 19, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 21, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 22, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 31, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 32, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 35, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 78, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 79, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 88, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 89, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 94, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 105, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 109, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 117, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 122, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 123, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 127, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 131, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 135, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 139, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AddBox", + "full_name": "", + "start_line": 144, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 145, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 151, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 157, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 158, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 167, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 173, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 194, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 195, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 204, + "end_line": 230, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 205, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 210, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 211, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 221, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 222, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 227, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 232, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 233, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 235, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 238, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SubtractBox", + "full_name": "", + "start_line": 242, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 243, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 249, + "end_line": 253, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 255, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 256, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 265, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 267, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 271, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 291, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 292, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 301, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 302, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 303, + "end_line": 303, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 307, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 308, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 318, + "end_line": 318, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 319, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 324, + "end_line": 326, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 329, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 330, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 331, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 332, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 335, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 336, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MultiplyBox", + "full_name": "", + "start_line": 339, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 340, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 346, + "end_line": 350, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 352, + "end_line": 395, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 353, + "end_line": 359, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 362, + "end_line": 394, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 363, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 393, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 370, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 374, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 378, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 378, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 383, + "end_line": 387, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 383, + "end_line": 387, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 388, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 391, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 397, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 398, + "end_line": 404, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 407, + "end_line": 433, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 408, + "end_line": 411, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 409, + "end_line": 409, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 413, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 414, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 424, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 425, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 430, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 435, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 436, + "end_line": 436, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 438, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 441, + "end_line": 441, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 442, + "end_line": 442, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DivideBox", + "full_name": "", + "start_line": 445, + "end_line": 449, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 446, + "end_line": 448, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 452, + "end_line": 456, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 458, + "end_line": 499, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 459, + "end_line": 465, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 468, + "end_line": 498, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 470, + "end_line": 497, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 474, + "end_line": 477, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 478, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 482, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 482, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 491, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 491, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 492, + "end_line": 494, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 495, + "end_line": 495, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 501, + "end_line": 508, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 502, + "end_line": 507, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 510, + "end_line": 524, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 511, + "end_line": 511, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 512, + "end_line": 512, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 513, + "end_line": 515, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 517, + "end_line": 519, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 521, + "end_line": 523, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 526, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 527, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 528, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 532, + "end_line": 541, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 533, + "end_line": 540, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 543, + "end_line": 545, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 547, + "end_line": 549, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 552, + "end_line": 554, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuloBox", + "full_name": "", + "start_line": 557, + "end_line": 561, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 558, + "end_line": 560, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CompareBox", + "full_name": "", + "start_line": 564, + "end_line": 564, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CompareBox", + "full_name": "", + "start_line": 566, + "end_line": 635, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 568, + "end_line": 570, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "less", + "full_name": "", + "start_line": 573, + "end_line": 586, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 575, + "end_line": 580, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 583, + "end_line": 583, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 584, + "end_line": 584, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "greater", + "full_name": "", + "start_line": 589, + "end_line": 602, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 591, + "end_line": 596, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 599, + "end_line": 599, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 600, + "end_line": 600, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "less_equal", + "full_name": "", + "start_line": 605, + "end_line": 618, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 607, + "end_line": 612, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 615, + "end_line": 615, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 616, + "end_line": 616, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "greater_equal", + "full_name": "", + "start_line": 621, + "end_line": 634, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 623, + "end_line": 628, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 631, + "end_line": 631, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 632, + "end_line": 632, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 639, + "end_line": 639, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_add_box_integers", + "full_name": "", + "start_line": 642, + "end_line": 649, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 643, + "end_line": 643, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 644, + "end_line": 644, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 645, + "end_line": 645, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 646, + "end_line": 646, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_add_box_strings", + "full_name": "", + "start_line": 652, + "end_line": 659, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 653, + "end_line": 653, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 654, + "end_line": 654, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 655, + "end_line": 655, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 656, + "end_line": 656, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_subtract_box", + "full_name": "", + "start_line": 662, + "end_line": 669, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 663, + "end_line": 663, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 664, + "end_line": 664, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 665, + "end_line": 665, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 666, + "end_line": 666, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_multiply_box", + "full_name": "", + "start_line": 672, + "end_line": 679, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 673, + "end_line": 673, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 674, + "end_line": 674, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 675, + "end_line": 675, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 676, + "end_line": 676, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_divide_box", + "full_name": "", + "start_line": 682, + "end_line": 690, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 683, + "end_line": 683, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 684, + "end_line": 684, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 685, + "end_line": 685, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 686, + "end_line": 686, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_divide_by_zero", + "full_name": "", + "start_line": 693, + "end_line": 700, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 694, + "end_line": 694, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 695, + "end_line": 695, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 696, + "end_line": 696, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 697, + "end_line": 697, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_modulo_box", + "full_name": "", + "start_line": 703, + "end_line": 710, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 704, + "end_line": 704, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 705, + "end_line": 705, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 706, + "end_line": 706, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 707, + "end_line": 707, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_modulo_by_zero", + "full_name": "", + "start_line": 713, + "end_line": 720, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 714, + "end_line": 714, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 715, + "end_line": 715, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 716, + "end_line": 716, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 717, + "end_line": 717, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_modulo_chip8_pattern", + "full_name": "", + "start_line": 723, + "end_line": 731, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 725, + "end_line": 725, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 726, + "end_line": 726, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 727, + "end_line": 727, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 728, + "end_line": 728, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_compare_box", + "full_name": "", + "start_line": 734, + "end_line": 741, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 735, + "end_line": 735, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 736, + "end_line": 736, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 227, + "max_depth": 10, + "node_type_counts": { + "class": 32, + "file_root": 1, + "import": 6, + "function": 85, + "if_statement": 29, + "variable": 74 + }, + "classes": 32, + "functions": 85, + "methods": 0, + "variables": 74, + "control_structures": 29 + }, + "generated_at": "2025-08-15T16:19:40.605521848Z" + }, + { + "file_info": { + "name": "box_operators.rs", + "path": "src/box_operators.rs", + "size_bytes": 0, + "total_lines": 680, + "code_lines": 490, + "comment_lines": 75, + "empty_lines": 115, + "code_ratio": 0.7205882352941176, + "analyzed_at": "2025-08-15T16:19:40.605725792Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 23, + "end_line": 29, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashAdd", + "type": "impl" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 32, + "end_line": 38, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashSub" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 41, + "end_line": 47, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashMul" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 50, + "end_line": 60, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashDiv", + "type": "impl" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 63, + "end_line": 85, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "DynamicAdd" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 87, + "end_line": 105, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "DynamicSub" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 107, + "end_line": 133, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "DynamicMul", + "type": "impl" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 135, + "end_line": 159, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "DynamicDiv", + "type": "impl" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 164, + "end_line": 170, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashAdd", + "type": "impl" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 173, + "end_line": 179, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashSub" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 182, + "end_line": 188, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashMul" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 191, + "end_line": 201, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashDiv" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 205, + "end_line": 226, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "DynamicAdd" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 228, + "end_line": 246, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "DynamicSub", + "type": "impl" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 248, + "end_line": 266, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "DynamicMul", + "type": "impl" + } + }, + { + "name": "FloatBox", + "parent_class": null, + "start_line": 268, + "end_line": 292, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "DynamicDiv", + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 297, + "end_line": 303, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashAdd", + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 306, + "end_line": 316, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashMul", + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 319, + "end_line": 334, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "DynamicAdd" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 336, + "end_line": 344, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "DynamicSub", + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 346, + "end_line": 362, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "DynamicMul", + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 364, + "end_line": 372, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "DynamicDiv", + "type": "impl" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 377, + "end_line": 384, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashAdd", + "type": "impl" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 386, + "end_line": 409, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "DynamicAdd" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 411, + "end_line": 431, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "DynamicSub" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 433, + "end_line": 453, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "DynamicMul" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 455, + "end_line": 472, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "DynamicDiv" + } + }, + { + "name": "OperatorResolver", + "parent_class": null, + "start_line": 478, + "end_line": 478, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "OperatorResolver", + "parent_class": null, + "start_line": 480, + "end_line": 621, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "add", + "start_line": 26, + "end_line": 28, + "parameters": [ + "self", + "rhs: IntegerBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "sub", + "start_line": 35, + "end_line": 37, + "parameters": [ + "self", + "rhs: IntegerBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "mul", + "start_line": 44, + "end_line": 46, + "parameters": [ + "self", + "rhs: IntegerBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "div", + "start_line": 53, + "end_line": 59, + "parameters": [ + "self", + "rhs: IntegerBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_add", + "start_line": 64, + "end_line": 80, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_add_with", + "start_line": 82, + "end_line": 84, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_sub", + "start_line": 88, + "end_line": 100, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_sub_with", + "start_line": 102, + "end_line": 104, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_mul", + "start_line": 108, + "end_line": 128, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_mul_with", + "start_line": 130, + "end_line": 132, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_div", + "start_line": 136, + "end_line": 154, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_div_with", + "start_line": 156, + "end_line": 158, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "add", + "start_line": 167, + "end_line": 169, + "parameters": [ + "self", + "rhs: FloatBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "sub", + "start_line": 176, + "end_line": 178, + "parameters": [ + "self", + "rhs: FloatBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "mul", + "start_line": 185, + "end_line": 187, + "parameters": [ + "self", + "rhs: FloatBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "div", + "start_line": 194, + "end_line": 200, + "parameters": [ + "self", + "rhs: FloatBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_add", + "start_line": 206, + "end_line": 221, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_add_with", + "start_line": 223, + "end_line": 225, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_sub", + "start_line": 229, + "end_line": 241, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_sub_with", + "start_line": 243, + "end_line": 245, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_mul", + "start_line": 249, + "end_line": 261, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_mul_with", + "start_line": 263, + "end_line": 265, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_div", + "start_line": 269, + "end_line": 287, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_div_with", + "start_line": 289, + "end_line": 291, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "add", + "start_line": 300, + "end_line": 302, + "parameters": [ + "self", + "rhs: StringBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "mul", + "start_line": 309, + "end_line": 315, + "parameters": [ + "self", + "rhs: IntegerBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_add", + "start_line": 320, + "end_line": 329, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_add_with", + "start_line": 331, + "end_line": 333, + "parameters": [ + "&self", + "_other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_sub", + "start_line": 337, + "end_line": 339, + "parameters": [ + "&self", + "_other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_sub_with", + "start_line": 341, + "end_line": 343, + "parameters": [ + "&self", + "_other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_mul", + "start_line": 347, + "end_line": 357, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_mul_with", + "start_line": 359, + "end_line": 361, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_div", + "start_line": 365, + "end_line": 367, + "parameters": [ + "&self", + "_other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_div_with", + "start_line": 369, + "end_line": 371, + "parameters": [ + "&self", + "_other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "add", + "start_line": 380, + "end_line": 383, + "parameters": [ + "self", + "rhs: BoolBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_add", + "start_line": 387, + "end_line": 404, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_add_with", + "start_line": 406, + "end_line": 408, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_sub", + "start_line": 412, + "end_line": 426, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_sub_with", + "start_line": 428, + "end_line": 430, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_mul", + "start_line": 434, + "end_line": 448, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_mul_with", + "start_line": 450, + "end_line": 452, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_div", + "start_line": 456, + "end_line": 467, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "can_div_with", + "start_line": 469, + "end_line": 471, + "parameters": [ + "&self", + "other_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "resolve_add", + "start_line": 482, + "end_line": 519, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "resolve_sub", + "start_line": 522, + "end_line": 544, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "resolve_mul", + "start_line": 547, + "end_line": 581, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "resolve_div", + "start_line": 584, + "end_line": 620, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_integer_addition", + "start_line": 628, + "end_line": 633, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_string_concatenation", + "start_line": 636, + "end_line": 641, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_string_repetition", + "start_line": 644, + "end_line": 649, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_dynamic_addition", + "start_line": 652, + "end_line": 660, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_boolean_arithmetic", + "start_line": 663, + "end_line": 668, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_can_add_with", + "start_line": 671, + "end_line": 679, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox}", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::FloatBox", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::operator_traits::{\n NyashAdd, NyashSub, NyashMul, NyashDiv,\n DynamicAdd, DynamicSub, DynamicMul, DynamicDiv,\n OperatorError\n}", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 625, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 29, + "function_count": 53, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 23, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add", + "full_name": "", + "start_line": 26, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 32, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "sub", + "full_name": "", + "start_line": 35, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 41, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "mul", + "full_name": "", + "start_line": 44, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 50, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "div", + "full_name": "", + "start_line": 53, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 63, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_add", + "full_name": "", + "start_line": 64, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_add_with", + "full_name": "", + "start_line": 82, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 87, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_sub", + "full_name": "", + "start_line": 88, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_sub_with", + "full_name": "", + "start_line": 102, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 107, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_mul", + "full_name": "", + "start_line": 108, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 110, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 120, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_mul_with", + "full_name": "", + "start_line": 130, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 135, + "end_line": 159, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_div", + "full_name": "", + "start_line": 136, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_div_with", + "full_name": "", + "start_line": 156, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 164, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add", + "full_name": "", + "start_line": 167, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 173, + "end_line": 179, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "sub", + "full_name": "", + "start_line": 176, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 182, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "mul", + "full_name": "", + "start_line": 185, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 191, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "div", + "full_name": "", + "start_line": 194, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 205, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_add", + "full_name": "", + "start_line": 206, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_add_with", + "full_name": "", + "start_line": 223, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 228, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_sub", + "full_name": "", + "start_line": 229, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 236, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_sub_with", + "full_name": "", + "start_line": 243, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 248, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_mul", + "full_name": "", + "start_line": 249, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 253, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 256, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_mul_with", + "full_name": "", + "start_line": 263, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FloatBox", + "full_name": "", + "start_line": 268, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_div", + "full_name": "", + "start_line": 269, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 271, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 272, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 279, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_div_with", + "full_name": "", + "start_line": 289, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 297, + "end_line": 303, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add", + "full_name": "", + "start_line": 300, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 306, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "mul", + "full_name": "", + "start_line": 309, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 310, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 319, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_add", + "full_name": "", + "start_line": 320, + "end_line": 329, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 322, + "end_line": 324, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 327, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_add_with", + "full_name": "", + "start_line": 331, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 336, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_sub", + "full_name": "", + "start_line": 337, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_sub_with", + "full_name": "", + "start_line": 341, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 346, + "end_line": 362, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_mul", + "full_name": "", + "start_line": 347, + "end_line": 357, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 349, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 350, + "end_line": 353, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 351, + "end_line": 351, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_mul_with", + "full_name": "", + "start_line": 359, + "end_line": 361, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 364, + "end_line": 372, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_div", + "full_name": "", + "start_line": 365, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_div_with", + "full_name": "", + "start_line": 369, + "end_line": 371, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 377, + "end_line": 384, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add", + "full_name": "", + "start_line": 380, + "end_line": 383, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 381, + "end_line": 381, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 386, + "end_line": 409, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_add", + "full_name": "", + "start_line": 387, + "end_line": 404, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 389, + "end_line": 392, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 390, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 395, + "end_line": 398, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 396, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 401, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 402, + "end_line": 402, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_add_with", + "full_name": "", + "start_line": 406, + "end_line": 408, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 411, + "end_line": 431, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_sub", + "full_name": "", + "start_line": 412, + "end_line": 426, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 414, + "end_line": 417, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 415, + "end_line": 415, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 420, + "end_line": 423, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 421, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_sub_with", + "full_name": "", + "start_line": 428, + "end_line": 430, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 433, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_mul", + "full_name": "", + "start_line": 434, + "end_line": 448, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 436, + "end_line": 439, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 442, + "end_line": 445, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 443, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_mul_with", + "full_name": "", + "start_line": 450, + "end_line": 452, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 455, + "end_line": 472, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_div", + "full_name": "", + "start_line": 456, + "end_line": 467, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 458, + "end_line": 464, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 459, + "end_line": 461, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 462, + "end_line": 462, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "can_div_with", + "full_name": "", + "start_line": 469, + "end_line": 471, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OperatorResolver", + "full_name": "", + "start_line": 478, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OperatorResolver", + "full_name": "", + "start_line": 480, + "end_line": 621, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_add", + "full_name": "", + "start_line": 482, + "end_line": 519, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 490, + "end_line": 494, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 491, + "end_line": 493, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 496, + "end_line": 500, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 497, + "end_line": 499, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 502, + "end_line": 506, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 503, + "end_line": 505, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 508, + "end_line": 512, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 509, + "end_line": 511, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_sub", + "full_name": "", + "start_line": 522, + "end_line": 544, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 527, + "end_line": 531, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 533, + "end_line": 537, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 534, + "end_line": 536, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_mul", + "full_name": "", + "start_line": 547, + "end_line": 581, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 552, + "end_line": 556, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 553, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 558, + "end_line": 562, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 559, + "end_line": 561, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 564, + "end_line": 568, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 565, + "end_line": 567, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 570, + "end_line": 574, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 571, + "end_line": 573, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_div", + "full_name": "", + "start_line": 584, + "end_line": 620, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 589, + "end_line": 596, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 590, + "end_line": 595, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 598, + "end_line": 605, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 599, + "end_line": 604, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 607, + "end_line": 613, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 608, + "end_line": 612, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 625, + "end_line": 625, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_integer_addition", + "full_name": "", + "start_line": 628, + "end_line": 633, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 629, + "end_line": 629, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 630, + "end_line": 630, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 631, + "end_line": 631, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_string_concatenation", + "full_name": "", + "start_line": 636, + "end_line": 641, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 637, + "end_line": 637, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 638, + "end_line": 638, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 639, + "end_line": 639, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_string_repetition", + "full_name": "", + "start_line": 644, + "end_line": 649, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 645, + "end_line": 645, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 646, + "end_line": 646, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 647, + "end_line": 647, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_dynamic_addition", + "full_name": "", + "start_line": 652, + "end_line": 660, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 653, + "end_line": 653, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 654, + "end_line": 654, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 657, + "end_line": 657, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 658, + "end_line": 658, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_boolean_arithmetic", + "full_name": "", + "start_line": 663, + "end_line": 668, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 664, + "end_line": 664, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 665, + "end_line": 665, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 666, + "end_line": 666, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_can_add_with", + "full_name": "", + "start_line": 671, + "end_line": 679, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 672, + "end_line": 672, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 676, + "end_line": 676, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 184, + "max_depth": 11, + "node_type_counts": { + "function": 53, + "if_statement": 62, + "variable": 35, + "class": 29, + "file_root": 1, + "import": 4 + }, + "classes": 29, + "functions": 53, + "methods": 0, + "variables": 35, + "control_structures": 62 + }, + "generated_at": "2025-08-15T16:19:40.605756489Z" + }, + { + "file_info": { + "name": "box_trait.rs", + "path": "src/box_trait.rs", + "size_bytes": 0, + "total_lines": 924, + "code_lines": 681, + "comment_lines": 85, + "empty_lines": 158, + "code_ratio": 0.737012987012987, + "analyzed_at": "2025-08-15T16:19:40.605814430Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BoxBase", + "parent_class": null, + "start_line": 49, + "end_line": 52, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BoxBase", + "parent_class": null, + "start_line": 54, + "end_line": 70, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "BoxCore", + "parent_class": null, + "start_line": 75, + "end_line": 90, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "trait" + } + }, + { + "name": "NyashBox", + "parent_class": null, + "start_line": 94, + "end_line": 121, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "trait", + "modifiers": "pub" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 127, + "end_line": 130, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 132, + "end_line": 225, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 227, + "end_line": 247, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 249, + "end_line": 274, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "StringBox", + "parent_class": null, + "start_line": 276, + "end_line": 280, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 284, + "end_line": 287, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 289, + "end_line": 300, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 302, + "end_line": 322, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 324, + "end_line": 349, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "IntegerBox", + "parent_class": null, + "start_line": 351, + "end_line": 355, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 359, + "end_line": 362, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 364, + "end_line": 379, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 381, + "end_line": 401, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 403, + "end_line": 428, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "BoolBox", + "parent_class": null, + "start_line": 430, + "end_line": 434, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "VoidBox", + "parent_class": null, + "start_line": 438, + "end_line": 440, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "VoidBox", + "parent_class": null, + "start_line": 442, + "end_line": 448, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "VoidBox", + "parent_class": null, + "start_line": 450, + "end_line": 454, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Default", + "type": "impl" + } + }, + { + "name": "VoidBox", + "parent_class": null, + "start_line": 456, + "end_line": 476, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "VoidBox", + "parent_class": null, + "start_line": 478, + "end_line": 499, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "VoidBox", + "parent_class": null, + "start_line": 501, + "end_line": 505, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 512, + "end_line": 515, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 517, + "end_line": 564, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 566, + "end_line": 586, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 588, + "end_line": 613, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "FileBox", + "parent_class": null, + "start_line": 615, + "end_line": 619, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 623, + "end_line": 627, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 629, + "end_line": 637, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 639, + "end_line": 659, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 661, + "end_line": 686, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 688, + "end_line": 692, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "ResultBox", + "parent_class": null, + "start_line": 696, + "end_line": 701, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ResultBox", + "parent_class": null, + "start_line": 703, + "end_line": 744, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ResultBox", + "parent_class": null, + "start_line": 746, + "end_line": 766, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "ResultBox", + "parent_class": null, + "start_line": 768, + "end_line": 835, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "NyashBox", + "type": "impl" + } + }, + { + "name": "ResultBox", + "parent_class": null, + "start_line": 837, + "end_line": 841, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "next_box_id", + "start_line": 21, + "end_line": 24, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_builtin_box", + "start_line": 41, + "end_line": 43, + "parameters": [ + "box_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new", + "start_line": 56, + "end_line": 61, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "with_parent_type", + "start_line": 64, + "end_line": 69, + "parameters": [ + "parent_type_id" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "type_name", + "start_line": 102, + "end_line": 104, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_arc", + "start_line": 113, + "end_line": 115, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 133, + "end_line": 138, + "parameters": [ + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "empty", + "start_line": 140, + "end_line": 142, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "split", + "start_line": 147, + "end_line": 153, + "parameters": [ + "&self", + "delimiter: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 148, + "end_line": 148, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 150, + "end_line": 150, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "find", + "start_line": 156, + "end_line": 161, + "parameters": [ + "&self", + "search: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "replace", + "start_line": 164, + "end_line": 166, + "parameters": [ + "&self", + "old: &str", + "new: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "trim", + "start_line": 169, + "end_line": 171, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "to_upper", + "start_line": 174, + "end_line": 176, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "to_lower", + "start_line": 179, + "end_line": 181, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "contains", + "start_line": 184, + "end_line": 186, + "parameters": [ + "&self", + "search: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "starts_with", + "start_line": 189, + "end_line": 191, + "parameters": [ + "&self", + "prefix: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "ends_with", + "start_line": 194, + "end_line": 196, + "parameters": [ + "&self", + "suffix: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "join", + "start_line": 199, + "end_line": 210, + "parameters": [ + "&self", + "array_box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 203, + "end_line": 203, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "length", + "start_line": 213, + "end_line": 215, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get", + "start_line": 218, + "end_line": 224, + "parameters": [ + "&self", + "index: usize" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 228, + "end_line": 230, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 232, + "end_line": 234, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 236, + "end_line": 238, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 240, + "end_line": 242, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 244, + "end_line": 246, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 250, + "end_line": 252, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 254, + "end_line": 260, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 262, + "end_line": 264, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 266, + "end_line": 268, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 271, + "end_line": 273, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 277, + "end_line": 279, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 290, + "end_line": 295, + "parameters": [ + "value: i64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "zero", + "start_line": 297, + "end_line": 299, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 303, + "end_line": 305, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 307, + "end_line": 309, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 311, + "end_line": 313, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 315, + "end_line": 317, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 319, + "end_line": 321, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 325, + "end_line": 327, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 329, + "end_line": 335, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 337, + "end_line": 339, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 341, + "end_line": 343, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 346, + "end_line": 348, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 352, + "end_line": 354, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 365, + "end_line": 370, + "parameters": [ + "value: bool" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "true_box", + "start_line": 372, + "end_line": 374, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "false_box", + "start_line": 376, + "end_line": 378, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 382, + "end_line": 384, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 386, + "end_line": 388, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 390, + "end_line": 392, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 394, + "end_line": 396, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 398, + "end_line": 400, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 404, + "end_line": 406, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 408, + "end_line": 414, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 416, + "end_line": 418, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 420, + "end_line": 422, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 425, + "end_line": 427, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 431, + "end_line": 433, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 443, + "end_line": 447, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "default", + "start_line": 451, + "end_line": 453, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 457, + "end_line": 459, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 461, + "end_line": 463, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 465, + "end_line": 467, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 469, + "end_line": 471, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 473, + "end_line": 475, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 479, + "end_line": 481, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 483, + "end_line": 485, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 487, + "end_line": 489, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 491, + "end_line": 493, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 496, + "end_line": 498, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 502, + "end_line": 504, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 518, + "end_line": 523, + "parameters": [ + "path" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "read", + "start_line": 528, + "end_line": 533, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "write", + "start_line": 536, + "end_line": 542, + "parameters": [ + "&self", + "content" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "exists", + "start_line": 545, + "end_line": 547, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "delete", + "start_line": 550, + "end_line": 555, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "copy", + "start_line": 558, + "end_line": 563, + "parameters": [ + "&self", + "dest_path: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 567, + "end_line": 569, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 571, + "end_line": 573, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 575, + "end_line": 577, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 579, + "end_line": 581, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 583, + "end_line": 585, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 589, + "end_line": 591, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 593, + "end_line": 599, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 601, + "end_line": 603, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 605, + "end_line": 607, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 610, + "end_line": 612, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 616, + "end_line": 618, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 630, + "end_line": 636, + "parameters": [ + "error_type", + "message" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 640, + "end_line": 642, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 644, + "end_line": 646, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 648, + "end_line": 650, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 652, + "end_line": 654, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 656, + "end_line": 658, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 662, + "end_line": 664, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 666, + "end_line": 672, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 674, + "end_line": 676, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 678, + "end_line": 680, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 683, + "end_line": 685, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 689, + "end_line": 691, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new_success", + "start_line": 704, + "end_line": 711, + "parameters": [ + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new_error", + "start_line": 713, + "end_line": 720, + "parameters": [ + "error: ErrorBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_ok", + "start_line": 725, + "end_line": 727, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_value", + "start_line": 730, + "end_line": 735, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_error", + "start_line": 738, + "end_line": 743, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "box_id", + "start_line": 747, + "end_line": 749, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 751, + "end_line": 753, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 755, + "end_line": 757, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 759, + "end_line": 761, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 763, + "end_line": 765, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 769, + "end_line": 783, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 785, + "end_line": 809, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 811, + "end_line": 813, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 815, + "end_line": 829, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 832, + "end_line": 834, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 838, + "end_line": 840, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_string_box_creation", + "start_line": 854, + "end_line": 859, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_integer_box_creation", + "start_line": 862, + "end_line": 867, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_bool_box_creation", + "start_line": 870, + "end_line": 875, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_box_equality", + "start_line": 878, + "end_line": 885, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_add_box_integers", + "start_line": 888, + "end_line": 896, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_add_box_strings", + "start_line": 899, + "end_line": 907, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_box_ids_unique", + "start_line": 910, + "end_line": 916, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_void_box", + "start_line": 919, + "end_line": 923, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::Arc", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::atomic::{AtomicU64, Ordering}", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fs", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::path::Path", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::array::ArrayBox", + "imported_names": [], + "alias": null, + "line_number": 508, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_arithmetic::{AddBox, SubtractBox, MultiplyBox, DivideBox, ModuloBox, CompareBox}", + "imported_names": [], + "alias": null, + "line_number": 847, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 851, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 40, + "function_count": 127, + "import_count": 9, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "next_box_id", + "full_name": "", + "start_line": 21, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "COUNTER", + "full_name": "", + "start_line": 22, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "BUILTIN_BOXES", + "full_name": "", + "start_line": 28, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_builtin_box", + "full_name": "", + "start_line": 41, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxBase", + "full_name": "", + "start_line": 49, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxBase", + "full_name": "", + "start_line": 54, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 56, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "with_parent_type", + "full_name": "", + "start_line": 64, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxCore", + "full_name": "", + "start_line": 75, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashBox", + "full_name": "", + "start_line": 94, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 102, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_arc", + "full_name": "", + "start_line": 113, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 127, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 132, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 133, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "empty", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "split", + "full_name": "", + "start_line": 147, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec>", + "full_name": "", + "start_line": 149, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "find", + "full_name": "", + "start_line": 156, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "replace", + "full_name": "", + "start_line": 164, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "trim", + "full_name": "", + "start_line": 169, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_upper", + "full_name": "", + "start_line": 174, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_lower", + "full_name": "", + "start_line": 179, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "contains", + "full_name": "", + "start_line": 184, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "starts_with", + "full_name": "", + "start_line": 189, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ends_with", + "full_name": "", + "start_line": 194, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "join", + "full_name": "", + "start_line": 199, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 201, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "length", + "full_name": "", + "start_line": 213, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get", + "full_name": "", + "start_line": 218, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 227, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 228, + "end_line": 230, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 232, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 236, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 240, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 244, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 249, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 250, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 254, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 262, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 266, + "end_line": 268, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 271, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StringBox", + "full_name": "", + "start_line": 276, + "end_line": 280, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 277, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 284, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 289, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 290, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "zero", + "full_name": "", + "start_line": 297, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 302, + "end_line": 322, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 303, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 307, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 311, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 315, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 319, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 324, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 325, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 329, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 330, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 337, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 341, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 346, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntegerBox", + "full_name": "", + "start_line": 351, + "end_line": 355, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 352, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 359, + "end_line": 362, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 364, + "end_line": 379, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 365, + "end_line": 370, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "true_box", + "full_name": "", + "start_line": 372, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "false_box", + "full_name": "", + "start_line": 376, + "end_line": 378, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 381, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 382, + "end_line": 384, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 386, + "end_line": 388, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 390, + "end_line": 392, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 394, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 398, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 403, + "end_line": 428, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 404, + "end_line": 406, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 405, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 408, + "end_line": 414, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 409, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 416, + "end_line": 418, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 420, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 425, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoolBox", + "full_name": "", + "start_line": 430, + "end_line": 434, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 431, + "end_line": 433, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VoidBox", + "full_name": "", + "start_line": 438, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VoidBox", + "full_name": "", + "start_line": 442, + "end_line": 448, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 443, + "end_line": 447, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VoidBox", + "full_name": "", + "start_line": 450, + "end_line": 454, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 451, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VoidBox", + "full_name": "", + "start_line": 456, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 457, + "end_line": 459, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 461, + "end_line": 463, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 465, + "end_line": 467, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 469, + "end_line": 471, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 473, + "end_line": 475, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VoidBox", + "full_name": "", + "start_line": 478, + "end_line": 499, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 479, + "end_line": 481, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 483, + "end_line": 485, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 487, + "end_line": 489, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 491, + "end_line": 493, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 496, + "end_line": 498, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VoidBox", + "full_name": "", + "start_line": 501, + "end_line": 505, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 502, + "end_line": 504, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 508, + "end_line": 508, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 512, + "end_line": 515, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 517, + "end_line": 564, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 518, + "end_line": 523, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read", + "full_name": "", + "start_line": 528, + "end_line": 533, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "write", + "full_name": "", + "start_line": 536, + "end_line": 542, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 537, + "end_line": 537, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "exists", + "full_name": "", + "start_line": 545, + "end_line": 547, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "delete", + "full_name": "", + "start_line": 550, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "copy", + "full_name": "", + "start_line": 558, + "end_line": 563, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 566, + "end_line": 586, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 567, + "end_line": 569, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 571, + "end_line": 573, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 575, + "end_line": 577, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 579, + "end_line": 581, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 583, + "end_line": 585, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 588, + "end_line": 613, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 589, + "end_line": 591, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 593, + "end_line": 599, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 594, + "end_line": 598, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 601, + "end_line": 603, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 605, + "end_line": 607, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 610, + "end_line": 612, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FileBox", + "full_name": "", + "start_line": 615, + "end_line": 619, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 616, + "end_line": 618, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ErrorBox", + "full_name": "", + "start_line": 623, + "end_line": 627, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ErrorBox", + "full_name": "", + "start_line": 629, + "end_line": 637, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 630, + "end_line": 636, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ErrorBox", + "full_name": "", + "start_line": 639, + "end_line": 659, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 640, + "end_line": 642, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 644, + "end_line": 646, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 648, + "end_line": 650, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 652, + "end_line": 654, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 656, + "end_line": 658, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ErrorBox", + "full_name": "", + "start_line": 661, + "end_line": 686, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 662, + "end_line": 664, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 666, + "end_line": 672, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 667, + "end_line": 671, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 674, + "end_line": 676, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 678, + "end_line": 680, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 683, + "end_line": 685, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ErrorBox", + "full_name": "", + "start_line": 688, + "end_line": 692, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 689, + "end_line": 691, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ResultBox", + "full_name": "", + "start_line": 696, + "end_line": 701, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ResultBox", + "full_name": "", + "start_line": 703, + "end_line": 744, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_success", + "full_name": "", + "start_line": 704, + "end_line": 711, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_error", + "full_name": "", + "start_line": 713, + "end_line": 720, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_ok", + "full_name": "", + "start_line": 725, + "end_line": 727, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_value", + "full_name": "", + "start_line": 730, + "end_line": 735, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_error", + "full_name": "", + "start_line": 738, + "end_line": 743, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ResultBox", + "full_name": "", + "start_line": 746, + "end_line": 766, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 747, + "end_line": 749, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 751, + "end_line": 753, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 755, + "end_line": 757, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 759, + "end_line": 761, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 763, + "end_line": 765, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ResultBox", + "full_name": "", + "start_line": 768, + "end_line": 835, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 769, + "end_line": 783, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 770, + "end_line": 782, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 771, + "end_line": 775, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 777, + "end_line": 781, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 785, + "end_line": 809, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 786, + "end_line": 808, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 787, + "end_line": 789, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 791, + "end_line": 805, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 811, + "end_line": 813, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 815, + "end_line": 829, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 816, + "end_line": 828, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 817, + "end_line": 821, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 823, + "end_line": 827, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 832, + "end_line": 834, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ResultBox", + "full_name": "", + "start_line": 837, + "end_line": 841, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 838, + "end_line": 840, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 847, + "end_line": 847, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 851, + "end_line": 851, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_string_box_creation", + "full_name": "", + "start_line": 854, + "end_line": 859, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 855, + "end_line": 855, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_integer_box_creation", + "full_name": "", + "start_line": 862, + "end_line": 867, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 863, + "end_line": 863, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_bool_box_creation", + "full_name": "", + "start_line": 870, + "end_line": 875, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 871, + "end_line": 871, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_box_equality", + "full_name": "", + "start_line": 878, + "end_line": 885, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 879, + "end_line": 879, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 880, + "end_line": 880, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 881, + "end_line": 881, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_add_box_integers", + "full_name": "", + "start_line": 888, + "end_line": 896, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 889, + "end_line": 889, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 890, + "end_line": 890, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 891, + "end_line": 891, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 893, + "end_line": 893, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 894, + "end_line": 894, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_add_box_strings", + "full_name": "", + "start_line": 899, + "end_line": 907, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 900, + "end_line": 900, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 901, + "end_line": 901, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 902, + "end_line": 902, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 904, + "end_line": 904, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 905, + "end_line": 905, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_box_ids_unique", + "full_name": "", + "start_line": 910, + "end_line": 916, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 911, + "end_line": 911, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 912, + "end_line": 912, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_void_box", + "full_name": "", + "start_line": 919, + "end_line": 923, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 920, + "end_line": 920, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 216, + "max_depth": 10, + "node_type_counts": { + "class": 40, + "if_statement": 17, + "import": 9, + "file_root": 1, + "function": 124, + "variable": 25 + }, + "classes": 40, + "functions": 124, + "methods": 0, + "variables": 25, + "control_structures": 17 + }, + "generated_at": "2025-08-15T16:19:40.605855914Z" + }, + { + "file_info": { + "name": "channel_box.rs", + "path": "src/channel_box.rs", + "size_bytes": 0, + "total_lines": 252, + "code_lines": 185, + "comment_lines": 26, + "empty_lines": 41, + "code_ratio": 0.7341269841269841, + "analyzed_at": "2025-08-15T16:19:40.607956805Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ChannelBox", + "parent_class": null, + "start_line": 16, + "end_line": 31, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "ChannelBox", + "parent_class": null, + "start_line": 33, + "end_line": 108, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ChannelBox", + "parent_class": null, + "start_line": 110, + "end_line": 138, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "ChannelBox", + "parent_class": null, + "start_line": 140, + "end_line": 160, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "ChannelBox", + "parent_class": null, + "start_line": 162, + "end_line": 166, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "ChannelBox", + "parent_class": null, + "start_line": 168, + "end_line": 176, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Debug", + "type": "impl" + } + }, + { + "name": "MessageBox", + "parent_class": null, + "start_line": 180, + "end_line": 184, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "MessageBox", + "parent_class": null, + "start_line": 186, + "end_line": 194, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MessageBox", + "parent_class": null, + "start_line": 196, + "end_line": 224, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "MessageBox", + "parent_class": null, + "start_line": 226, + "end_line": 246, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "MessageBox", + "parent_class": null, + "start_line": 248, + "end_line": 252, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 35, + "end_line": 43, + "parameters": [ + "sender: &str", + "receiver: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "link", + "start_line": 46, + "end_line": 51, + "parameters": [ + "&self", + "name: &str", + "target" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "register_handler", + "start_line": 54, + "end_line": 62, + "parameters": [ + "&self", + "method: &str", + "handler: F" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "invoke", + "start_line": 65, + "end_line": 82, + "parameters": [ + "&self", + "method: &str", + "args" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 76, + "end_line": 76, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 77, + "end_line": 77, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "sender", + "start_line": 85, + "end_line": 87, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "receiver", + "start_line": 90, + "end_line": 92, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "broadcast", + "start_line": 95, + "end_line": 107, + "parameters": [ + "&self", + "_method: &str", + "_args" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 111, + "end_line": 113, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 115, + "end_line": 117, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 119, + "end_line": 121, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 124, + "end_line": 126, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 128, + "end_line": 137, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 141, + "end_line": 143, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 145, + "end_line": 147, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 149, + "end_line": 151, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 153, + "end_line": 155, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 157, + "end_line": 159, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 163, + "end_line": 165, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 169, + "end_line": 175, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 187, + "end_line": 193, + "parameters": [ + "sender: &str", + "content: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "type_name", + "start_line": 197, + "end_line": 199, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 201, + "end_line": 203, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 205, + "end_line": 207, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 210, + "end_line": 212, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 214, + "end_line": 223, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 227, + "end_line": 229, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 231, + "end_line": 233, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 235, + "end_line": 237, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 239, + "end_line": 241, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 243, + "end_line": 245, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 249, + "end_line": 251, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, VoidBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex, Weak}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 11, + "function_count": 33, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ChannelBox", + "full_name": "", + "start_line": 16, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ChannelBox", + "full_name": "", + "start_line": 33, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 35, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "link", + "full_name": "", + "start_line": 46, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_handler", + "full_name": "", + "start_line": 54, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "invoke", + "full_name": "", + "start_line": 65, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "sender", + "full_name": "", + "start_line": 85, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "receiver", + "full_name": "", + "start_line": 90, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "broadcast", + "full_name": "", + "start_line": 95, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 100, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ChannelBox", + "full_name": "", + "start_line": 110, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 111, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 115, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 119, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 124, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 128, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 129, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ChannelBox", + "full_name": "", + "start_line": 140, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 141, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 145, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 149, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 153, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 157, + "end_line": 159, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ChannelBox", + "full_name": "", + "start_line": 162, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 163, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ChannelBox", + "full_name": "", + "start_line": 168, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 169, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MessageBox", + "full_name": "", + "start_line": 180, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MessageBox", + "full_name": "", + "start_line": 186, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 187, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MessageBox", + "full_name": "", + "start_line": 196, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 197, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 201, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 205, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 210, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 214, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MessageBox", + "full_name": "", + "start_line": 226, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 227, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 231, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 235, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 239, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 243, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MessageBox", + "full_name": "", + "start_line": 248, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 249, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 58, + "max_depth": 9, + "node_type_counts": { + "variable": 4, + "class": 11, + "file_root": 1, + "function": 31, + "for_loop": 1, + "import": 5, + "if_statement": 5 + }, + "classes": 11, + "functions": 31, + "methods": 0, + "variables": 4, + "control_structures": 6 + }, + "generated_at": "2025-08-15T16:19:40.607970122Z" + }, + { + "file_info": { + "name": "cli.rs", + "path": "src/cli.rs", + "size_bytes": 0, + "total_lines": 176, + "code_lines": 153, + "comment_lines": 13, + "empty_lines": 10, + "code_ratio": 0.8693181818181818, + "analyzed_at": "2025-08-15T16:19:40.605727192Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "CliConfig", + "parent_class": null, + "start_line": 12, + "end_line": 24, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "CliConfig", + "parent_class": null, + "start_line": 26, + "end_line": 133, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "parse", + "start_line": 28, + "end_line": 31, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "build_command", + "start_line": 34, + "end_line": 115, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "from_matches", + "start_line": 118, + "end_line": 132, + "parameters": [ + "matches: &ArgMatches" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_debug_fuel", + "start_line": 136, + "end_line": 142, + "parameters": [ + "value: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_parse_debug_fuel", + "start_line": 149, + "end_line": 153, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_default_config", + "start_line": 156, + "end_line": 175, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "clap::{Arg, Command, ArgMatches}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 146, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 2, + "function_count": 6, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CliConfig", + "full_name": "", + "start_line": 12, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CliConfig", + "full_name": "", + "start_line": 26, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse", + "full_name": "", + "start_line": 28, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "build_command", + "full_name": "", + "start_line": 34, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_matches", + "full_name": "", + "start_line": 118, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_debug_fuel", + "full_name": "", + "start_line": 136, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_parse_debug_fuel", + "full_name": "", + "start_line": 149, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_default_config", + "full_name": "", + "start_line": 156, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 159, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 14, + "max_depth": 5, + "node_type_counts": { + "class": 2, + "function": 6, + "variable": 2, + "if_statement": 1, + "file_root": 1, + "import": 2 + }, + "classes": 2, + "functions": 6, + "methods": 0, + "variables": 2, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.605737196Z" + }, + { + "file_info": { + "name": "environment.rs", + "path": "src/environment.rs", + "size_bytes": 0, + "total_lines": 359, + "code_lines": 233, + "comment_lines": 58, + "empty_lines": 68, + "code_ratio": 0.649025069637883, + "analyzed_at": "2025-08-15T16:19:40.605861628Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "Environment", + "parent_class": null, + "start_line": 16, + "end_line": 31, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "EnvironmentError", + "parent_class": null, + "start_line": 35, + "end_line": 44, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "Environment", + "parent_class": null, + "start_line": 46, + "end_line": 189, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "PythonCompatEnvironment", + "parent_class": null, + "start_line": 193, + "end_line": 196, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "PythonCompatEnvironment", + "parent_class": null, + "start_line": 198, + "end_line": 231, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new_global", + "start_line": 48, + "end_line": 56, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new_child", + "start_line": 59, + "end_line": 72, + "parameters": [ + "parent", + "scope_name" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "define", + "start_line": 75, + "end_line": 78, + "parameters": [ + "&self", + "name", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get", + "start_line": 81, + "end_line": 96, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set", + "start_line": 99, + "end_line": 122, + "parameters": [ + "&self", + "name", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "exists", + "start_line": 125, + "end_line": 127, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "undefine", + "start_line": 130, + "end_line": 132, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "list_variables", + "start_line": 135, + "end_line": 137, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "scope_info", + "start_line": 140, + "end_line": 142, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "scope_chain_info", + "start_line": 145, + "end_line": 153, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "dump_all_variables", + "start_line": 156, + "end_line": 173, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "track_box", + "start_line": 176, + "end_line": 178, + "parameters": [ + "&self", + "nyash_box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "finalize_all_boxes", + "start_line": 181, + "end_line": 183, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "exclude_from_finalization", + "start_line": 186, + "end_line": 188, + "parameters": [ + "&self", + "nyash_box: &Box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new", + "start_line": 199, + "end_line": 204, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new_with_parent", + "start_line": 206, + "end_line": 211, + "parameters": [ + "parent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "define", + "start_line": 214, + "end_line": 218, + "parameters": [ + "&mut self", + "name", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get", + "start_line": 221, + "end_line": 225, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 222, + "end_line": 224, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "as_native", + "start_line": 228, + "end_line": 230, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_global_environment", + "start_line": 241, + "end_line": 251, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_nested_scopes", + "start_line": 254, + "end_line": 271, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_variable_shadowing", + "start_line": 274, + "end_line": 291, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_variable_setting", + "start_line": 294, + "end_line": 308, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_scope_info", + "start_line": 311, + "end_line": 327, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_python_compat", + "start_line": 330, + "end_line": 342, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_error_handling", + "start_line": 345, + "end_line": 358, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, VoidBox}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::finalization::BoxFinalizer", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "thiserror::Error", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 237, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{StringBox, IntegerBox, BoolBox}", + "imported_names": [], + "alias": null, + "line_number": 238, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 27, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "Environment", + "full_name": "", + "start_line": 16, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EnvironmentError", + "full_name": "", + "start_line": 35, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "Environment", + "full_name": "", + "start_line": 46, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_global", + "full_name": "", + "start_line": 48, + "end_line": 56, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_child", + "full_name": "", + "start_line": 59, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "define", + "full_name": "", + "start_line": 75, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 76, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get", + "full_name": "", + "start_line": 81, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 83, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set", + "full_name": "", + "start_line": 99, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 100, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "exists", + "full_name": "", + "start_line": 125, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "undefine", + "full_name": "", + "start_line": 130, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "list_variables", + "full_name": "", + "start_line": 135, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "scope_info", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "scope_chain_info", + "full_name": "", + "start_line": 145, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 148, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dump_all_variables", + "full_name": "", + "start_line": 156, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 157, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 168, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "track_box", + "full_name": "", + "start_line": 176, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "finalize_all_boxes", + "full_name": "", + "start_line": 181, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "exclude_from_finalization", + "full_name": "", + "start_line": 186, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "PythonCompatEnvironment", + "full_name": "", + "start_line": 193, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "PythonCompatEnvironment", + "full_name": "", + "start_line": 198, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 199, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_with_parent", + "full_name": "", + "start_line": 206, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "define", + "full_name": "", + "start_line": 214, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get", + "full_name": "", + "start_line": 221, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_native", + "full_name": "", + "start_line": 228, + "end_line": 230, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 237, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 238, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_global_environment", + "full_name": "", + "start_line": 241, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 242, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 248, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_nested_scopes", + "full_name": "", + "start_line": 254, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 256, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 265, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 266, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_variable_shadowing", + "full_name": "", + "start_line": 274, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 275, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 276, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 283, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 284, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 288, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 289, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_variable_setting", + "full_name": "", + "start_line": 294, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 295, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 296, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 306, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_scope_info", + "full_name": "", + "start_line": 311, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 312, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 313, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 314, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 322, + "end_line": 322, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_python_compat", + "full_name": "", + "start_line": 330, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 331, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 337, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_error_handling", + "full_name": "", + "start_line": 345, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 346, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 349, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 78, + "max_depth": 6, + "node_type_counts": { + "for_loop": 1, + "if_statement": 6, + "import": 7, + "variable": 32, + "file_root": 1, + "class": 5, + "function": 26 + }, + "classes": 5, + "functions": 26, + "methods": 0, + "variables": 32, + "control_structures": 7 + }, + "generated_at": "2025-08-15T16:19:40.605882202Z" + }, + { + "file_info": { + "name": "exception_box.rs", + "path": "src/exception_box.rs", + "size_bytes": 0, + "total_lines": 120, + "code_lines": 90, + "comment_lines": 10, + "empty_lines": 20, + "code_ratio": 0.75, + "analyzed_at": "2025-08-15T16:19:40.605647647Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 13, + "end_line": 18, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 20, + "end_line": 50, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 52, + "end_line": 78, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 80, + "end_line": 100, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "ErrorBox", + "parent_class": null, + "start_line": 102, + "end_line": 106, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 21, + "end_line": 28, + "parameters": [ + "message: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "with_cause", + "start_line": 30, + "end_line": 37, + "parameters": [ + "message: &str", + "cause: ErrorBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add_stack_frame", + "start_line": 39, + "end_line": 41, + "parameters": [ + "&mut self", + "frame: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_full_message", + "start_line": 43, + "end_line": 49, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "type_name", + "start_line": 53, + "end_line": 55, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 57, + "end_line": 59, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 62, + "end_line": 68, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 70, + "end_line": 72, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 75, + "end_line": 77, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 81, + "end_line": 83, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 85, + "end_line": 87, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 89, + "end_line": 91, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 93, + "end_line": 95, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 97, + "end_line": 99, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 103, + "end_line": 105, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "is_exception_type", + "start_line": 109, + "end_line": 114, + "parameters": [ + "exception: &dyn NyashBox", + "type_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "create_exception", + "start_line": 117, + "end_line": 120, + "parameters": [ + "_type_name: &str", + "message: &str", + "_extra_info: &HashMap" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 17, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ErrorBox", + "full_name": "", + "start_line": 13, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ErrorBox", + "full_name": "", + "start_line": 20, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 21, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "with_cause", + "full_name": "", + "start_line": 30, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_stack_frame", + "full_name": "", + "start_line": 39, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_full_message", + "full_name": "", + "start_line": 43, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ErrorBox", + "full_name": "", + "start_line": 52, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 53, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 57, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 62, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 70, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 75, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ErrorBox", + "full_name": "", + "start_line": 80, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 81, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 85, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 89, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 93, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 97, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ErrorBox", + "full_name": "", + "start_line": 102, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 103, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_exception_type", + "full_name": "", + "start_line": 109, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_exception", + "full_name": "", + "start_line": 117, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 29, + "max_depth": 6, + "node_type_counts": { + "file_root": 1, + "import": 3, + "class": 5, + "variable": 1, + "if_statement": 2, + "function": 17 + }, + "classes": 5, + "functions": 17, + "methods": 0, + "variables": 1, + "control_structures": 2 + }, + "generated_at": "2025-08-15T16:19:40.605655142Z" + }, + { + "file_info": { + "name": "finalization.rs", + "path": "src/finalization.rs", + "size_bytes": 0, + "total_lines": 111, + "code_lines": 74, + "comment_lines": 21, + "empty_lines": 16, + "code_ratio": 0.6666666666666666, + "analyzed_at": "2025-08-15T16:19:40.608272728Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BoxFinalizer", + "parent_class": null, + "start_line": 32, + "end_line": 37, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BoxFinalizer", + "parent_class": null, + "start_line": 39, + "end_line": 79, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "BoxFinalizer", + "parent_class": null, + "start_line": 81, + "end_line": 85, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Drop", + "type": "impl" + } + }, + { + "name": "BoxFinalizer", + "parent_class": null, + "start_line": 87, + "end_line": 93, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "fmt::Debug", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "is_finalized", + "start_line": 22, + "end_line": 24, + "parameters": [ + "box_id: u64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "mark_as_finalized", + "start_line": 27, + "end_line": 29, + "parameters": [ + "box_id: u64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new", + "start_line": 40, + "end_line": 45, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "track", + "start_line": 48, + "end_line": 51, + "parameters": [ + "&mut self", + "nyash_box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "exclude_from_finalization", + "start_line": 54, + "end_line": 57, + "parameters": [ + "&mut self", + "nyash_box: &Box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "finalize_all", + "start_line": 60, + "end_line": 78, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "drop", + "start_line": 82, + "end_line": 84, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 88, + "end_line": 92, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_finalization_tracking", + "start_line": 100, + "end_line": 110, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "std::collections::HashSet", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::NyashBox", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "lazy_static::lazy_static", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 97, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 9, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_finalized", + "full_name": "", + "start_line": 22, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "mark_as_finalized", + "full_name": "", + "start_line": 27, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxFinalizer", + "full_name": "", + "start_line": 32, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxFinalizer", + "full_name": "", + "start_line": 39, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 40, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "track", + "full_name": "", + "start_line": 48, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "exclude_from_finalization", + "full_name": "", + "start_line": 54, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "finalize_all", + "full_name": "", + "start_line": 60, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 70, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxFinalizer", + "full_name": "", + "start_line": 81, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "drop", + "full_name": "", + "start_line": 82, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxFinalizer", + "full_name": "", + "start_line": 87, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 88, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_finalization_tracking", + "full_name": "", + "start_line": 100, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 28, + "max_depth": 14, + "node_type_counts": { + "import": 6, + "file_root": 1, + "function": 9, + "class": 4, + "variable": 4, + "if_statement": 3, + "for_loop": 1 + }, + "classes": 4, + "functions": 9, + "methods": 0, + "variables": 4, + "control_structures": 4 + }, + "generated_at": "2025-08-15T16:19:40.608279050Z" + }, + { + "file_info": { + "name": "instance.rs", + "path": "src/instance.rs", + "size_bytes": 0, + "total_lines": 538, + "code_lines": 357, + "comment_lines": 101, + "empty_lines": 80, + "code_ratio": 0.6635687732342007, + "analyzed_at": "2025-08-15T16:19:40.609277341Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "InstanceBox", + "parent_class": null, + "start_line": 19, + "end_line": 47, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "InstanceBox", + "parent_class": null, + "start_line": 49, + "end_line": 433, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "InstanceBox", + "parent_class": null, + "start_line": 435, + "end_line": 462, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "InstanceBox", + "parent_class": null, + "start_line": 464, + "end_line": 484, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "InstanceBox", + "parent_class": null, + "start_line": 486, + "end_line": 490, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 50, + "end_line": 68, + "parameters": [ + "class_name: String", + "fields", + "methods" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new_with_box_info", + "start_line": 71, + "end_line": 98, + "parameters": [ + "class_name: String", + "fields", + "methods", + "init_field_order", + "weak_fields" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_field_unified", + "start_line": 101, + "end_line": 121, + "parameters": [ + "&self", + "field_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_field_unified", + "start_line": 124, + "end_line": 140, + "parameters": [ + "&self", + "field_name: String", + "value: NyashValue" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_weak_field", + "start_line": 143, + "end_line": 158, + "parameters": [ + "&self", + "field_name: String", + "value: NyashValue" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_weak_field_from_legacy", + "start_line": 161, + "end_line": 176, + "parameters": [ + "&self", + "field_name: String", + "legacy_box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_weak_field", + "start_line": 179, + "end_line": 239, + "parameters": [ + "&self", + "field_name: &str", + "interpreter: &NyashInterpreter" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "invalidate_weak_references_to", + "start_line": 242, + "end_line": 262, + "parameters": [ + "&self", + "target_info: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "global_invalidate_weak_references", + "start_line": 265, + "end_line": 270, + "parameters": [ + "target_info: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_field", + "start_line": 273, + "end_line": 278, + "parameters": [ + "&self", + "field_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_field", + "start_line": 281, + "end_line": 296, + "parameters": [ + "&self", + "field_name: &str", + "value: SharedNyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_field_dynamic", + "start_line": 299, + "end_line": 302, + "parameters": [ + "&mut self", + "field_name: String", + "value: SharedNyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_method", + "start_line": 305, + "end_line": 307, + "parameters": [ + "&self", + "method_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "has_method", + "start_line": 310, + "end_line": 312, + "parameters": [ + "&self", + "method_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add_method", + "start_line": 315, + "end_line": 344, + "parameters": [ + "&mut self", + "method_name: String", + "method_ast: ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fini", + "start_line": 347, + "end_line": 380, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "cascade_finalize_fields", + "start_line": 383, + "end_line": 417, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "is_finalized", + "start_line": 420, + "end_line": 422, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_in_finalization", + "start_line": 425, + "end_line": 427, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_weak_field", + "start_line": 430, + "end_line": 432, + "parameters": [ + "&self", + "field_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 436, + "end_line": 438, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 440, + "end_line": 447, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 449, + "end_line": 451, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 453, + "end_line": 456, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 459, + "end_line": 461, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 465, + "end_line": 467, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 469, + "end_line": 471, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 473, + "end_line": 475, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 477, + "end_line": 479, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 481, + "end_line": 483, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 487, + "end_line": 489, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_instance_creation", + "start_line": 500, + "end_line": 509, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_field_access", + "start_line": 512, + "end_line": 525, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_instance_equality", + "start_line": 528, + "end_line": 537, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, VoidBox, BoxCore, BoxBase, SharedNyashBox}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::ast::ASTNode", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::value::NyashValue", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::interpreter::NyashInterpreter", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex, Weak}", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::StringBox", + "imported_names": [], + "alias": null, + "line_number": 164, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 496, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::IntegerBox", + "imported_names": [], + "alias": null, + "line_number": 497, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 34, + "import_count": 11, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "InstanceBox", + "full_name": "", + "start_line": 19, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "InstanceBox", + "full_name": "", + "start_line": 49, + "end_line": 433, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 50, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_with_box_info", + "full_name": "", + "start_line": 71, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 79, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "std::collections::HashSet", + "full_name": "", + "start_line": 85, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field_unified", + "full_name": "", + "start_line": 101, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 113, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_field_unified", + "full_name": "", + "start_line": 124, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 130, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 131, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 133, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_weak_field", + "full_name": "", + "start_line": 143, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_weak_field_from_legacy", + "full_name": "", + "start_line": 161, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 167, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 168, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_weak_field", + "full_name": "", + "start_line": 179, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 180, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 198, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 199, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 203, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "invalidate_weak_references_to", + "full_name": "", + "start_line": 242, + "end_line": 262, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 243, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 244, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 248, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "global_invalidate_weak_references", + "full_name": "", + "start_line": 265, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field", + "full_name": "", + "start_line": 273, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_field", + "full_name": "", + "start_line": 281, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 287, + "end_line": 290, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_field_dynamic", + "full_name": "", + "start_line": 299, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 300, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_method", + "full_name": "", + "start_line": 305, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "has_method", + "full_name": "", + "start_line": 310, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_method", + "full_name": "", + "start_line": 315, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 320, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 322, + "end_line": 325, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 327, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fini", + "full_name": "", + "start_line": 347, + "end_line": 380, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 349, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 350, + "end_line": 353, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 356, + "end_line": 356, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 359, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 370, + "end_line": 370, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 372, + "end_line": 372, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "cascade_finalize_fields", + "full_name": "", + "start_line": 383, + "end_line": 417, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 384, + "end_line": 384, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 387, + "end_line": 414, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 389, + "end_line": 392, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 395, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 398, + "end_line": 407, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 400, + "end_line": 406, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 402, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_finalized", + "full_name": "", + "start_line": 420, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_in_finalization", + "full_name": "", + "start_line": 425, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_weak_field", + "full_name": "", + "start_line": 430, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "InstanceBox", + "full_name": "", + "start_line": 435, + "end_line": 462, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 436, + "end_line": 438, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 440, + "end_line": 447, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 441, + "end_line": 446, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 449, + "end_line": 451, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 453, + "end_line": 456, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 459, + "end_line": 461, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "InstanceBox", + "full_name": "", + "start_line": 464, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 465, + "end_line": 467, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 469, + "end_line": 471, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 473, + "end_line": 475, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 477, + "end_line": 479, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 481, + "end_line": 483, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "InstanceBox", + "full_name": "", + "start_line": 486, + "end_line": 490, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 487, + "end_line": 489, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 496, + "end_line": 496, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 497, + "end_line": 497, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_instance_creation", + "full_name": "", + "start_line": 500, + "end_line": 509, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 501, + "end_line": 501, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 502, + "end_line": 502, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 503, + "end_line": 503, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_field_access", + "full_name": "", + "start_line": 512, + "end_line": 525, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 513, + "end_line": 513, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 514, + "end_line": 514, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 515, + "end_line": 515, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 518, + "end_line": 518, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 522, + "end_line": 522, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 523, + "end_line": 523, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_instance_equality", + "full_name": "", + "start_line": 528, + "end_line": 537, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 529, + "end_line": 529, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 530, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 116, + "max_depth": 23, + "node_type_counts": { + "file_root": 1, + "function": 34, + "if_statement": 26, + "class": 5, + "import": 11, + "for_loop": 4, + "variable": 35 + }, + "classes": 5, + "functions": 34, + "methods": 0, + "variables": 35, + "control_structures": 30 + }, + "generated_at": "2025-08-15T16:19:40.609327472Z" + }, + { + "file_info": { + "name": "async_methods.rs", + "path": "src/interpreter/async_methods.rs", + "size_bytes": 0, + "total_lines": 132, + "code_lines": 93, + "comment_lines": 35, + "empty_lines": 4, + "code_ratio": 0.7045454545454546, + "analyzed_at": "2025-08-15T16:19:40.614272677Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 18, + "end_line": 132, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_future_method", + "start_line": 27, + "end_line": 59, + "parameters": [ + "&mut self", + "future_box: &FutureBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_channel_method", + "start_line": 72, + "end_line": 131, + "parameters": [ + "&mut self", + "channel_box: &ChannelBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::StringBox", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::channel_box::{ChannelBox, MessageBox}", + "imported_names": [], + "alias": null, + "line_number": 16, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 2, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 18, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_future_method", + "full_name": "", + "start_line": 27, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 31, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 47, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_channel_method", + "full_name": "", + "start_line": 72, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 76, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 83, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 119, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 21, + "max_depth": 11, + "node_type_counts": { + "file_root": 1, + "import": 3, + "class": 1, + "for_loop": 1, + "if_statement": 8, + "variable": 5, + "function": 2 + }, + "classes": 1, + "functions": 2, + "methods": 0, + "variables": 5, + "control_structures": 9 + }, + "generated_at": "2025-08-15T16:19:40.614282019Z" + }, + { + "file_info": { + "name": "box_methods.rs", + "path": "src/interpreter/box_methods.rs", + "size_bytes": 0, + "total_lines": 277, + "code_lines": 163, + "comment_lines": 80, + "empty_lines": 34, + "code_ratio": 0.5884476534296029, + "analyzed_at": "2025-08-15T16:19:40.614360055Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 52, + "end_line": 277, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_null_method", + "start_line": 70, + "end_line": 130, + "parameters": [ + "&mut self", + "_null_box: &NullBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_egui_method", + "start_line": 148, + "end_line": 194, + "parameters": [ + "&mut self", + "_egui_box: &crate::boxes::EguiBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_console_method", + "start_line": 197, + "end_line": 272, + "parameters": [ + "&mut self", + "console_box: &crate::boxes::console_box::ConsoleBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 216, + "end_line": 216, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 232, + "end_line": 232, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 248, + "end_line": 248, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 49, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::NullBox", + "imported_names": [], + "alias": null, + "line_number": 50, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 6, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 50, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 52, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_null_method", + "full_name": "", + "start_line": 70, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 110, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 112, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_egui_method", + "full_name": "", + "start_line": 148, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 152, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 159, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 177, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_console_method", + "full_name": "", + "start_line": 197, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 215, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 225, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 231, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 235, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 247, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 257, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 33, + "max_depth": 11, + "node_type_counts": { + "class": 1, + "for_loop": 3, + "file_root": 1, + "import": 2, + "variable": 11, + "function": 3, + "if_statement": 12 + }, + "classes": 1, + "functions": 3, + "methods": 0, + "variables": 11, + "control_structures": 15 + }, + "generated_at": "2025-08-15T16:19:40.614376359Z" + }, + { + "file_info": { + "name": "core.rs", + "path": "src/interpreter/core.rs", + "size_bytes": 0, + "total_lines": 867, + "code_lines": 622, + "comment_lines": 97, + "empty_lines": 148, + "code_ratio": 0.7174163783160323, + "analyzed_at": "2025-08-15T16:19:40.614404874Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "RuntimeError", + "parent_class": null, + "start_line": 34, + "end_line": 84, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "RuntimeError", + "parent_class": null, + "start_line": 86, + "end_line": 150, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "SharedState", + "parent_class": null, + "start_line": 154, + "end_line": 169, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "SharedState", + "parent_class": null, + "start_line": 171, + "end_line": 188, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 191, + "end_line": 215, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 217, + "end_line": 549, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 643, + "end_line": 867, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "debug_log", + "start_line": 21, + "end_line": 30, + "parameters": [ + "msg: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "detailed_message", + "start_line": 88, + "end_line": 149, + "parameters": [ + "&self", + "source" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new", + "start_line": 173, + "end_line": 187, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new", + "start_line": 219, + "end_line": 232, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "with_shared", + "start_line": 235, + "end_line": 246, + "parameters": [ + "shared: SharedState" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "execute", + "start_line": 249, + "end_line": 256, + "parameters": [ + "&mut self", + "ast: ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute_node", + "start_line": 259, + "end_line": 326, + "parameters": [ + "&mut self", + "node: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "resolve_variable", + "start_line": 331, + "end_line": 440, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "set_variable", + "start_line": 443, + "end_line": 476, + "parameters": [ + "&mut self", + "name: &str", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "declare_local_variable", + "start_line": 479, + "end_line": 481, + "parameters": [ + "&mut self", + "name: &str", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "declare_outbox_variable", + "start_line": 484, + "end_line": 486, + "parameters": [ + "&mut self", + "name: &str", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "save_local_vars", + "start_line": 489, + "end_line": 493, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "closure", + "start_line": 491, + "end_line": 491, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "restore_local_vars", + "start_line": 495, + "end_line": 499, + "parameters": [ + "&mut self", + "saved" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "closure", + "start_line": 497, + "end_line": 497, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "save_outbox_vars", + "start_line": 502, + "end_line": 506, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "closure", + "start_line": 504, + "end_line": 504, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "restore_outbox_vars", + "start_line": 508, + "end_line": 512, + "parameters": [ + "&mut self", + "saved" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "closure", + "start_line": 510, + "end_line": 510, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "register_global_function", + "start_line": 515, + "end_line": 520, + "parameters": [ + "&mut self", + "name: String", + "func_ast: ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "closure", + "start_line": 518, + "end_line": 518, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "is_truthy", + "start_line": 527, + "end_line": 542, + "parameters": [ + "&self", + "value: &Box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "get_variable", + "start_line": 545, + "end_line": 548, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "test_simple_execution", + "start_line": 559, + "end_line": 570, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_arithmetic", + "start_line": 573, + "end_line": 585, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_if_statement", + "start_line": 588, + "end_line": 605, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_box_instance_creation", + "start_line": 608, + "end_line": 638, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "register_static_box", + "start_line": 646, + "end_line": 654, + "parameters": [ + "&mut self", + "definition: StaticBoxDefinition" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 648, + "end_line": 650, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "register_static_box_declaration", + "start_line": 657, + "end_line": 687, + "parameters": [ + "&mut self", + "name: String", + "fields", + "methods", + "init_fields", + "weak_fields", + "static_init", + "extends", + "implements", + "type_parameters" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "ensure_static_box_initialized", + "start_line": 690, + "end_line": 756, + "parameters": [ + "&mut self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 694, + "end_line": 696, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "set_static_box_state", + "start_line": 759, + "end_line": 770, + "parameters": [ + "&mut self", + "name: &str", + "state: StaticBoxState" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 761, + "end_line": 763, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "ensure_statics_namespace", + "start_line": 773, + "end_line": 800, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 775, + "end_line": 777, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "set_static_instance", + "start_line": 803, + "end_line": 829, + "parameters": [ + "&mut self", + "name: &str", + "instance: InstanceBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 805, + "end_line": 807, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "is_static_box", + "start_line": 832, + "end_line": 838, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "trigger_weak_reference_invalidation", + "start_line": 841, + "end_line": 866, + "parameters": [ + "&mut self", + "target_info: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::ast::{ASTNode, Span}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox, SharedNyashBox}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::instance::InstanceBox", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::parser::ParseError", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::BuiltinStdlib", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex, RwLock}", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::{HashMap, HashSet}", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "thiserror::Error", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::{ControlFlow, BoxDeclaration, ConstructorContext, StaticBoxDefinition, StaticBoxState}", + "imported_names": [], + "alias": null, + "line_number": 16, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fs::OpenOptions", + "imported_names": [], + "alias": null, + "line_number": 17, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::io::Write", + "imported_names": [], + "alias": null, + "line_number": 18, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 529, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 555, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::parser::NyashParser", + "imported_names": [], + "alias": null, + "line_number": 556, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 40, + "import_count": 14, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 17, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 18, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "debug_log", + "full_name": "", + "start_line": 21, + "end_line": 30, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 22, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RuntimeError", + "full_name": "", + "start_line": 34, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "RuntimeError", + "full_name": "", + "start_line": 86, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "detailed_message", + "full_name": "", + "start_line": 88, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 126, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SharedState", + "full_name": "", + "start_line": 154, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SharedState", + "full_name": "", + "start_line": 171, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 173, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 191, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 217, + "end_line": 549, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 219, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 220, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "with_shared", + "full_name": "", + "start_line": 235, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute", + "full_name": "", + "start_line": 249, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 252, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_node", + "full_name": "", + "start_line": 259, + "end_line": 326, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 264, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 266, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 287, + "end_line": 297, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 288, + "end_line": 296, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 289, + "end_line": 293, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 299, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 304, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_variable", + "full_name": "", + "start_line": 331, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 332, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 338, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 342, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 351, + "end_line": 361, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 355, + "end_line": 355, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 365, + "end_line": 365, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 369, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 373, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 377, + "end_line": 399, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 379, + "end_line": 379, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 380, + "end_line": 380, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 383, + "end_line": 388, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 389, + "end_line": 399, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 391, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 406, + "end_line": 433, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 410, + "end_line": 430, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 414, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 418, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_variable", + "full_name": "", + "start_line": 443, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 444, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 447, + "end_line": 450, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 453, + "end_line": 456, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 460, + "end_line": 460, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 461, + "end_line": 466, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 463, + "end_line": 463, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "declare_local_variable", + "full_name": "", + "start_line": 479, + "end_line": 481, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "declare_outbox_variable", + "full_name": "", + "start_line": 484, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "save_local_vars", + "full_name": "", + "start_line": 489, + "end_line": 493, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "restore_local_vars", + "full_name": "", + "start_line": 495, + "end_line": 499, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "save_outbox_vars", + "full_name": "", + "start_line": 502, + "end_line": 506, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "restore_outbox_vars", + "full_name": "", + "start_line": 508, + "end_line": 512, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_global_function", + "full_name": "", + "start_line": 515, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 516, + "end_line": 516, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_truthy", + "full_name": "", + "start_line": 527, + "end_line": 542, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 529, + "end_line": 529, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 531, + "end_line": 541, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 533, + "end_line": 541, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 535, + "end_line": 541, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 537, + "end_line": 541, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_variable", + "full_name": "", + "start_line": 545, + "end_line": 548, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 546, + "end_line": 546, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 555, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 556, + "end_line": 556, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_simple_execution", + "full_name": "", + "start_line": 559, + "end_line": 570, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 560, + "end_line": 563, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 565, + "end_line": 565, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 566, + "end_line": 566, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 567, + "end_line": 567, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_arithmetic", + "full_name": "", + "start_line": 573, + "end_line": 585, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 574, + "end_line": 576, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 578, + "end_line": 578, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 579, + "end_line": 579, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 583, + "end_line": 583, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_if_statement", + "full_name": "", + "start_line": 588, + "end_line": 605, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 589, + "end_line": 596, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 598, + "end_line": 598, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 599, + "end_line": 599, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 603, + "end_line": 603, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_box_instance_creation", + "full_name": "", + "start_line": 608, + "end_line": 638, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 609, + "end_line": 625, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 627, + "end_line": 627, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 628, + "end_line": 628, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 632, + "end_line": 632, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 636, + "end_line": 636, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 643, + "end_line": 867, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_static_box", + "full_name": "", + "start_line": 646, + "end_line": 654, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 647, + "end_line": 650, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_static_box_declaration", + "full_name": "", + "start_line": 657, + "end_line": 687, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 672, + "end_line": 683, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ensure_static_box_initialized", + "full_name": "", + "start_line": 690, + "end_line": 756, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 692, + "end_line": 702, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 693, + "end_line": 696, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 705, + "end_line": 707, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 709, + "end_line": 713, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 722, + "end_line": 726, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 732, + "end_line": 750, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 734, + "end_line": 739, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 735, + "end_line": 735, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 736, + "end_line": 736, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 737, + "end_line": 737, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 744, + "end_line": 746, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_static_box_state", + "full_name": "", + "start_line": 759, + "end_line": 770, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 760, + "end_line": 763, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 765, + "end_line": 767, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ensure_statics_namespace", + "full_name": "", + "start_line": 773, + "end_line": 800, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 774, + "end_line": 777, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 780, + "end_line": 783, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 786, + "end_line": 790, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 794, + "end_line": 794, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_static_instance", + "full_name": "", + "start_line": 803, + "end_line": 829, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 804, + "end_line": 807, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 810, + "end_line": 813, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 815, + "end_line": 819, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 823, + "end_line": 823, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_static_box", + "full_name": "", + "start_line": 832, + "end_line": 838, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 833, + "end_line": 837, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "trigger_weak_reference_invalidation", + "full_name": "", + "start_line": 841, + "end_line": 866, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 846, + "end_line": 865, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 847, + "end_line": 847, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 849, + "end_line": 849, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 850, + "end_line": 850, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 852, + "end_line": 857, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 861, + "end_line": 864, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 152, + "max_depth": 16, + "node_type_counts": { + "if_statement": 36, + "function": 30, + "variable": 62, + "for_loop": 2, + "file_root": 1, + "class": 7, + "import": 14 + }, + "classes": 7, + "functions": 30, + "methods": 0, + "variables": 62, + "control_structures": 38 + }, + "generated_at": "2025-08-15T16:19:40.614454874Z" + }, + { + "file_info": { + "name": "expressions.rs", + "path": "src/interpreter/expressions.rs", + "size_bytes": 0, + "total_lines": 1458, + "code_lines": 1028, + "comment_lines": 224, + "empty_lines": 206, + "code_ratio": 0.7050754458161865, + "analyzed_at": "2025-08-15T16:19:40.615896076Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 108, + "end_line": 1458, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "try_add_operation", + "start_line": 18, + "end_line": 42, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_sub_operation", + "start_line": 44, + "end_line": 53, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_mul_operation", + "start_line": 55, + "end_line": 73, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_div_operation", + "start_line": 75, + "end_line": 88, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "try_mod_operation", + "start_line": 90, + "end_line": 103, + "parameters": [ + "left: &dyn NyashBox", + "right: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_expression", + "start_line": 110, + "end_line": 233, + "parameters": [ + "&mut self", + "expression: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "closure", + "start_line": 119, + "end_line": 122, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 155, + "end_line": 157, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 165, + "end_line": 167, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 175, + "end_line": 177, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 181, + "end_line": 183, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 195, + "end_line": 197, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 201, + "end_line": 203, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_binary_op", + "start_line": 236, + "end_line": 349, + "parameters": [ + "&mut self", + "op: &BinaryOperator", + "left: &ASTNode", + "right: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "execute_unary_op", + "start_line": 352, + "end_line": 380, + "parameters": [ + "&mut self", + "operator: &UnaryOperator", + "operand: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "execute_method_call", + "start_line": 383, + "end_line": 898, + "parameters": [ + "&mut self", + "object: &ASTNode", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 828, + "end_line": 830, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_field_access", + "start_line": 901, + "end_line": 972, + "parameters": [ + "&mut self", + "object: &ASTNode", + "field: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_static_field_access", + "start_line": 975, + "end_line": 1016, + "parameters": [ + "&mut self", + "static_box_name: &str", + "field: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 982, + "end_line": 984, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_await", + "start_line": 1020, + "end_line": 1031, + "parameters": [ + "&mut self", + "expression: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "closure", + "start_line": 1026, + "end_line": 1026, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "get_object_id", + "start_line": 1034, + "end_line": 1050, + "parameters": [ + "&self", + "node: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "hash_string", + "start_line": 1053, + "end_line": 1059, + "parameters": [ + "&self", + "s: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_from_call", + "start_line": 1086, + "end_line": 1216, + "parameters": [ + "&mut self", + "parent: &str", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "closure", + "start_line": 1091, + "end_line": 1093, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_from_parent_constructor", + "start_line": 1219, + "end_line": 1290, + "parameters": [ + "&mut self", + "parent: &str", + "parent_box_decl: &super::BoxDeclaration", + "current_instance", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 1231, + "end_line": 1231, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 1232, + "end_line": 1232, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 1233, + "end_line": 1233, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_builtin_box_method", + "start_line": 1293, + "end_line": 1380, + "parameters": [ + "&mut self", + "parent: &str", + "method: &str", + "current_instance", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_builtin_birth_method", + "start_line": 1384, + "end_line": 1457, + "parameters": [ + "&mut self", + "builtin_name: &str", + "current_instance", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::ast::UnaryOperator", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{buffer::BufferBox, JSONBox, HttpClientBox, StreamBox, RegexBox, IntentBox, SocketBox, HTTPServerBox, HTTPRequestBox, HTTPResponseBox}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{FloatBox, MathBox, ConsoleBox, TimeBox, DateTimeBox, RandomBox, SoundBox, DebugBox, file::FileBox, MapBox}", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{BoolBox, SharedNyashBox}", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::operator_traits::{DynamicAdd, DynamicSub, DynamicMul, DynamicDiv, OperatorError}", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::Arc", + "imported_names": [], + "alias": null, + "line_number": 104, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{is_builtin_box, BUILTIN_BOXES}", + "imported_names": [], + "alias": null, + "line_number": 1121, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 32, + "import_count": 8, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_add_operation", + "full_name": "", + "start_line": 18, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 34, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_sub_operation", + "full_name": "", + "start_line": 44, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_mul_operation", + "full_name": "", + "start_line": 55, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_div_operation", + "full_name": "", + "start_line": 75, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "try_mod_operation", + "full_name": "", + "start_line": 90, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 4, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 108, + "end_line": 1458, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_expression", + "full_name": "", + "start_line": 110, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 139, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 180, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 194, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 199, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 200, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_binary_op", + "full_name": "", + "start_line": 236, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 238, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 245, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 256, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 266, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 267, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 270, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 276, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 277, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 280, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 287, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 299, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 330, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 335, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 340, + "end_line": 340, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 345, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_unary_op", + "full_name": "", + "start_line": 352, + "end_line": 380, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 354, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 359, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 361, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 371, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 375, + "end_line": 375, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_method_call", + "full_name": "", + "start_line": 383, + "end_line": 898, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 387, + "end_line": 492, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 389, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 390, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 391, + "end_line": 399, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 392, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 402, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 404, + "end_line": 452, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 406, + "end_line": 406, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 407, + "end_line": 409, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 412, + "end_line": 417, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 420, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 424, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 428, + "end_line": 430, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 433, + "end_line": 433, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 434, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 438, + "end_line": 442, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 456, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 456, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 457, + "end_line": 472, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 458, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 459, + "end_line": 464, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 478, + "end_line": 491, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 482, + "end_line": 482, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 483, + "end_line": 485, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 488, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 495, + "end_line": 495, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 498, + "end_line": 500, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 503, + "end_line": 505, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 508, + "end_line": 510, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 513, + "end_line": 515, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 518, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 523, + "end_line": 525, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 533, + "end_line": 535, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 538, + "end_line": 540, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 543, + "end_line": 545, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 548, + "end_line": 550, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 553, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 558, + "end_line": 560, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 563, + "end_line": 565, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 568, + "end_line": 570, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 573, + "end_line": 575, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 578, + "end_line": 580, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 583, + "end_line": 585, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 588, + "end_line": 590, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 593, + "end_line": 595, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 598, + "end_line": 600, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 603, + "end_line": 605, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 608, + "end_line": 610, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 613, + "end_line": 615, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 618, + "end_line": 620, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 623, + "end_line": 697, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 624, + "end_line": 624, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 629, + "end_line": 694, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 631, + "end_line": 631, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 638, + "end_line": 644, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 652, + "end_line": 668, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 654, + "end_line": 665, + "start_column": 0, + "end_column": 0, + "depth": 25, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 656, + "end_line": 662, + "start_column": 0, + "end_column": 0, + "depth": 28, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 658, + "end_line": 658, + "start_column": 0, + "end_column": 0, + "depth": 30, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 672, + "end_line": 683, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 674, + "end_line": 680, + "start_column": 0, + "end_column": 0, + "depth": 25, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 676, + "end_line": 676, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 700, + "end_line": 702, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 705, + "end_line": 707, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 710, + "end_line": 712, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 721, + "end_line": 723, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 727, + "end_line": 729, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 733, + "end_line": 735, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 739, + "end_line": 741, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 744, + "end_line": 746, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 749, + "end_line": 751, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 758, + "end_line": 897, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 760, + "end_line": 764, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 767, + "end_line": 833, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 769, + "end_line": 788, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 771, + "end_line": 787, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 772, + "end_line": 786, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 774, + "end_line": 785, + "start_column": 0, + "end_column": 0, + "depth": 21, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 775, + "end_line": 784, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 776, + "end_line": 783, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 791, + "end_line": 793, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 796, + "end_line": 820, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 797, + "end_line": 819, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 799, + "end_line": 799, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 806, + "end_line": 806, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 807, + "end_line": 815, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 811, + "end_line": 814, + "start_column": 0, + "end_column": 0, + "depth": 21, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 823, + "end_line": 823, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 836, + "end_line": 840, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 843, + "end_line": 892, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 845, + "end_line": 845, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 846, + "end_line": 849, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 847, + "end_line": 847, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 852, + "end_line": 857, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 860, + "end_line": 860, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 867, + "end_line": 869, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 872, + "end_line": 872, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 873, + "end_line": 882, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 877, + "end_line": 881, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_field_access", + "full_name": "", + "start_line": 901, + "end_line": 972, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 905, + "end_line": 911, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 907, + "end_line": 910, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 908, + "end_line": 908, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 915, + "end_line": 915, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 917, + "end_line": 917, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 920, + "end_line": 971, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 922, + "end_line": 926, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 929, + "end_line": 932, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 937, + "end_line": 937, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 938, + "end_line": 963, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 939, + "end_line": 962, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 943, + "end_line": 960, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 953, + "end_line": 957, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 954, + "end_line": 956, + "start_column": 0, + "end_column": 0, + "depth": 26, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_static_field_access", + "full_name": "", + "start_line": 975, + "end_line": 1016, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 981, + "end_line": 984, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 986, + "end_line": 989, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 991, + "end_line": 995, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 997, + "end_line": 1000, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1002, + "end_line": 1006, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1009, + "end_line": 1012, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_await", + "full_name": "", + "start_line": 1020, + "end_line": 1031, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1021, + "end_line": 1021, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1024, + "end_line": 1030, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_object_id", + "full_name": "", + "start_line": 1034, + "end_line": 1050, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "hash_string", + "full_name": "", + "start_line": 1053, + "end_line": 1059, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1054, + "end_line": 1054, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1055, + "end_line": 1057, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_from_call", + "full_name": "", + "start_line": 1086, + "end_line": 1216, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1090, + "end_line": 1093, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1095, + "end_line": 1098, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1101, + "end_line": 1101, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1102, + "end_line": 1102, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1104, + "end_line": 1107, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1110, + "end_line": 1111, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1113, + "end_line": 1118, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 1121, + "end_line": 1121, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1123, + "end_line": 1123, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1128, + "end_line": 1130, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1136, + "end_line": 1140, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1143, + "end_line": 1147, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1152, + "end_line": 1154, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1157, + "end_line": 1161, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1164, + "end_line": 1164, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1165, + "end_line": 1167, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1170, + "end_line": 1215, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1172, + "end_line": 1177, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1180, + "end_line": 1180, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1187, + "end_line": 1189, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 1192, + "end_line": 1192, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1193, + "end_line": 1202, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1197, + "end_line": 1201, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_from_parent_constructor", + "full_name": "", + "start_line": 1219, + "end_line": 1290, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1225, + "end_line": 1225, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1226, + "end_line": 1226, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1227, + "end_line": 1227, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1228, + "end_line": 1228, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1230, + "end_line": 1237, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1240, + "end_line": 1240, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1241, + "end_line": 1243, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1246, + "end_line": 1289, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1248, + "end_line": 1253, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1256, + "end_line": 1256, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1263, + "end_line": 1265, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 1268, + "end_line": 1268, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1269, + "end_line": 1278, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1273, + "end_line": 1277, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_builtin_box_method", + "full_name": "", + "start_line": 1293, + "end_line": 1380, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1297, + "end_line": 1299, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1307, + "end_line": 1307, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1312, + "end_line": 1312, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1316, + "end_line": 1316, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1320, + "end_line": 1320, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1324, + "end_line": 1324, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1335, + "end_line": 1335, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1339, + "end_line": 1339, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1343, + "end_line": 1343, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1347, + "end_line": 1347, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1351, + "end_line": 1351, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1355, + "end_line": 1355, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1359, + "end_line": 1359, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1363, + "end_line": 1363, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1367, + "end_line": 1367, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1371, + "end_line": 1371, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_builtin_birth_method", + "full_name": "", + "start_line": 1384, + "end_line": 1457, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1388, + "end_line": 1388, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1389, + "end_line": 1391, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1396, + "end_line": 1400, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1402, + "end_line": 1402, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1404, + "end_line": 1404, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1408, + "end_line": 1412, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1414, + "end_line": 1420, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1414, + "end_line": 1420, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1422, + "end_line": 1422, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1428, + "end_line": 1432, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1434, + "end_line": 1434, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1440, + "end_line": 1444, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1446, + "end_line": 1446, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 261, + "max_depth": 30, + "node_type_counts": { + "function": 18, + "file_root": 1, + "class": 1, + "import": 8, + "for_loop": 16, + "if_statement": 116, + "variable": 101 + }, + "classes": 1, + "functions": 18, + "methods": 0, + "variables": 101, + "control_structures": 132 + }, + "generated_at": "2025-08-15T16:19:40.616000692Z" + }, + { + "file_info": { + "name": "functions.rs", + "path": "src/interpreter/functions.rs", + "size_bytes": 0, + "total_lines": 97, + "code_lines": 63, + "comment_lines": 21, + "empty_lines": 13, + "code_ratio": 0.6494845360824743, + "analyzed_at": "2025-08-15T16:19:40.613893044Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 11, + "end_line": 97, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_function_call", + "start_line": 13, + "end_line": 79, + "parameters": [ + "&mut self", + "name: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "register_function_declaration", + "start_line": 82, + "end_line": 96, + "parameters": [ + "&mut self", + "name: String", + "params", + "body" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 93, + "end_line": 95, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 3, + "import_count": 1, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 11, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_function_call", + "full_name": "", + "start_line": 13, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 17, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 18, + "end_line": 21, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 26, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 33, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 35, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 41, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Box", + "full_name": "", + "start_line": 58, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_function_declaration", + "full_name": "", + "start_line": 82, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 20, + "max_depth": 12, + "node_type_counts": { + "for_loop": 3, + "import": 1, + "function": 2, + "file_root": 1, + "class": 1, + "if_statement": 6, + "variable": 6 + }, + "classes": 1, + "functions": 2, + "methods": 0, + "variables": 6, + "control_structures": 9 + }, + "generated_at": "2025-08-15T16:19:40.613899822Z" + }, + { + "file_info": { + "name": "io.rs", + "path": "src/interpreter/io.rs", + "size_bytes": 0, + "total_lines": 114, + "code_lines": 65, + "comment_lines": 30, + "empty_lines": 19, + "code_ratio": 0.5701754385964912, + "analyzed_at": "2025-08-15T16:19:40.614053330Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 12, + "end_line": 114, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_include", + "start_line": 14, + "end_line": 46, + "parameters": [ + "&mut self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 29, + "end_line": 31, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 35, + "end_line": 37, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_arrow", + "start_line": 49, + "end_line": 75, + "parameters": [ + "&mut self", + "sender: &ASTNode", + "receiver: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_nowait", + "start_line": 78, + "end_line": 113, + "parameters": [ + "&mut self", + "variable: &str", + "expression: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 91, + "end_line": 106, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::parser::NyashParser", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::FutureBox", + "imported_names": [], + "alias": null, + "line_number": 79, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::thread", + "imported_names": [], + "alias": null, + "line_number": 80, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 6, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 12, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_include", + "full_name": "", + "start_line": 14, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 23, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 34, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_arrow", + "full_name": "", + "start_line": 49, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_nowait", + "full_name": "", + "start_line": 78, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 79, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 83, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 84, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 26, + "max_depth": 15, + "node_type_counts": { + "function": 3, + "if_statement": 2, + "import": 4, + "class": 1, + "variable": 15, + "file_root": 1 + }, + "classes": 1, + "functions": 3, + "methods": 0, + "variables": 15, + "control_structures": 2 + }, + "generated_at": "2025-08-15T16:19:40.614060587Z" + }, + { + "file_info": { + "name": "math_methods.rs", + "path": "src/interpreter/math_methods.rs", + "size_bytes": 0, + "total_lines": 274, + "code_lines": 223, + "comment_lines": 37, + "empty_lines": 14, + "code_ratio": 0.8138686131386861, + "analyzed_at": "2025-08-15T16:19:40.614187988Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 24, + "end_line": 274, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_math_method", + "start_line": 27, + "end_line": 181, + "parameters": [ + "&mut self", + "math_box: &MathBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "execute_random_method", + "start_line": 185, + "end_line": 273, + "parameters": [ + "&mut self", + "random_box: &RandomBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 22, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 2, + "import_count": 1, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 22, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 24, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_math_method", + "full_name": "", + "start_line": 27, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 30, + "end_line": 30, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 31, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 47, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 133, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 159, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 167, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_random_method", + "full_name": "", + "start_line": 185, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 233, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 259, + "end_line": 263, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 33, + "max_depth": 11, + "node_type_counts": { + "variable": 2, + "file_root": 1, + "class": 1, + "for_loop": 2, + "import": 1, + "function": 2, + "if_statement": 24 + }, + "classes": 1, + "functions": 2, + "methods": 0, + "variables": 2, + "control_structures": 26 + }, + "generated_at": "2025-08-15T16:19:40.614204901Z" + }, + { + "file_info": { + "name": "basic_methods.rs", + "path": "src/interpreter/methods/basic_methods.rs", + "size_bytes": 0, + "total_lines": 508, + "code_lines": 486, + "comment_lines": 17, + "empty_lines": 5, + "code_ratio": 0.9566929133858267, + "analyzed_at": "2025-08-15T16:19:40.620304377Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 16, + "end_line": 508, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_string_method", + "start_line": 18, + "end_line": 135, + "parameters": [ + "&mut self", + "string_box: &StringBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + }, + { + "name": "execute_integer_method", + "start_line": 138, + "end_line": 222, + "parameters": [ + "&mut self", + "integer_box: &IntegerBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(in crate::interpreter)", + "type": "function" + } + }, + { + "name": "execute_bool_method", + "start_line": 225, + "end_line": 289, + "parameters": [ + "&mut self", + "bool_box: &BoolBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + }, + { + "name": "execute_float_method", + "start_line": 292, + "end_line": 507, + "parameters": [ + "&mut self", + "float_box: &FloatBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::super::*", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{StringBox, IntegerBox, BoolBox, VoidBox}", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::FloatBox", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 4, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 16, + "end_line": 508, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_string_method", + "full_name": "", + "start_line": 18, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 22, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 34, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_integer_method", + "full_name": "", + "start_line": 138, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 142, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 158, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 173, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 202, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 203, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_bool_method", + "full_name": "", + "start_line": 225, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 237, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 245, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 250, + "end_line": 250, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 265, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 266, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 270, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 279, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 280, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_float_method", + "full_name": "", + "start_line": 292, + "end_line": 507, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 296, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 304, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 312, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 320, + "end_line": 324, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 340, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 344, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 349, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 350, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 352, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 361, + "end_line": 365, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 366, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 375, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 369, + "end_line": 375, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 378, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 383, + "end_line": 383, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 384, + "end_line": 392, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 386, + "end_line": 392, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 395, + "end_line": 399, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 400, + "end_line": 406, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 409, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 417, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 425, + "end_line": 429, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 433, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 438, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 447, + "end_line": 451, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 452, + "end_line": 458, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 461, + "end_line": 465, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 473, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 477, + "end_line": 481, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 485, + "end_line": 489, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 493, + "end_line": 497, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 498, + "end_line": 498, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 87, + "max_depth": 17, + "node_type_counts": { + "function": 4, + "variable": 19, + "class": 1, + "file_root": 1, + "if_statement": 59, + "import": 3 + }, + "classes": 1, + "functions": 4, + "methods": 0, + "variables": 19, + "control_structures": 59 + }, + "generated_at": "2025-08-15T16:19:40.620333912Z" + }, + { + "file_info": { + "name": "collection_methods.rs", + "path": "src/interpreter/methods/collection_methods.rs", + "size_bytes": 0, + "total_lines": 303, + "code_lines": 285, + "comment_lines": 14, + "empty_lines": 4, + "code_ratio": 0.9405940594059405, + "analyzed_at": "2025-08-15T16:19:40.620335118Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 14, + "end_line": 303, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_array_method", + "start_line": 16, + "end_line": 160, + "parameters": [ + "&mut self", + "array_box: &ArrayBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + }, + { + "name": "execute_map_method", + "start_line": 163, + "end_line": 302, + "parameters": [ + "&mut self", + "map_box: &MapBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::super::*", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{StringBox, IntegerBox, NyashBox, BoolBox}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{ArrayBox, MapBox}", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 2, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 14, + "end_line": 303, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_array_method", + "full_name": "", + "start_line": 16, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 25, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 50, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 113, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 129, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 145, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_map_method", + "full_name": "", + "start_line": 163, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 175, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 202, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 238, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 243, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 244, + "end_line": 248, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 256, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 265, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 270, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 275, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 279, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 289, + "end_line": 293, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 58, + "max_depth": 11, + "node_type_counts": { + "function": 2, + "if_statement": 31, + "variable": 20, + "import": 3, + "class": 1, + "file_root": 1 + }, + "classes": 1, + "functions": 2, + "methods": 0, + "variables": 20, + "control_structures": 31 + }, + "generated_at": "2025-08-15T16:19:40.620371887Z" + }, + { + "file_info": { + "name": "data_methods.rs", + "path": "src/interpreter/methods/data_methods.rs", + "size_bytes": 0, + "total_lines": 231, + "code_lines": 215, + "comment_lines": 12, + "empty_lines": 4, + "code_ratio": 0.9307359307359307, + "analyzed_at": "2025-08-15T16:19:40.620544133Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 14, + "end_line": 231, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_buffer_method", + "start_line": 16, + "end_line": 111, + "parameters": [ + "&mut self", + "buffer_box: &BufferBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + }, + { + "name": "execute_json_method", + "start_line": 114, + "end_line": 174, + "parameters": [ + "&mut self", + "json_box: &JSONBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(in crate::interpreter)", + "type": "function" + } + }, + { + "name": "execute_regex_method", + "start_line": 177, + "end_line": 230, + "parameters": [ + "&mut self", + "regex_box: &RegexBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::super::*", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{buffer::BufferBox, JSONBox, RegexBox}", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 3, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 14, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_buffer_method", + "full_name": "", + "start_line": 16, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 25, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 76, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 100, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_json_method", + "full_name": "", + "start_line": 114, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 159, + "end_line": 159, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_regex_method", + "full_name": "", + "start_line": 177, + "end_line": 230, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 181, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 190, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 199, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 214, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 47, + "max_depth": 11, + "node_type_counts": { + "import": 3, + "file_root": 1, + "function": 3, + "class": 1, + "if_statement": 21, + "variable": 18 + }, + "classes": 1, + "functions": 3, + "methods": 0, + "variables": 18, + "control_structures": 21 + }, + "generated_at": "2025-08-15T16:19:40.620557754Z" + }, + { + "file_info": { + "name": "http_methods.rs", + "path": "src/interpreter/methods/http_methods.rs", + "size_bytes": 0, + "total_lines": 287, + "code_lines": 250, + "comment_lines": 9, + "empty_lines": 28, + "code_ratio": 0.8710801393728222, + "analyzed_at": "2025-08-15T16:19:40.623593710Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 10, + "end_line": 287, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_socket_method", + "start_line": 12, + "end_line": 129, + "parameters": [ + "&mut self", + "socket_box: &SocketBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(in crate::interpreter)", + "type": "function" + } + }, + { + "name": "execute_http_server_method", + "start_line": 132, + "end_line": 202, + "parameters": [ + "&mut self", + "server_box: &HTTPServerBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + }, + { + "name": "execute_http_request_method", + "start_line": 205, + "end_line": 243, + "parameters": [ + "&mut self", + "request_box: &HTTPRequestBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + }, + { + "name": "execute_http_response_method", + "start_line": 246, + "end_line": 286, + "parameters": [ + "&mut self", + "response_box: &HTTPResponseBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::super::*", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{SocketBox, HTTPServerBox, HTTPRequestBox, HTTPResponseBox}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 4, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 10, + "end_line": 287, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_socket_method", + "full_name": "", + "start_line": 12, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 26, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 32, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 38, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 117, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_http_server_method", + "full_name": "", + "start_line": 132, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 155, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 157, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 170, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 190, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_http_request_method", + "full_name": "", + "start_line": 205, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_http_response_method", + "full_name": "", + "start_line": 246, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 254, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 265, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 274, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 45, + "max_depth": 11, + "node_type_counts": { + "function": 4, + "if_statement": 23, + "file_root": 1, + "import": 2, + "class": 1, + "variable": 14 + }, + "classes": 1, + "functions": 4, + "methods": 0, + "variables": 14, + "control_structures": 23 + }, + "generated_at": "2025-08-15T16:19:40.623612307Z" + }, + { + "file_info": { + "name": "io_methods.rs", + "path": "src/interpreter/methods/io_methods.rs", + "size_bytes": 0, + "total_lines": 108, + "code_lines": 93, + "comment_lines": 12, + "empty_lines": 3, + "code_ratio": 0.8611111111111112, + "analyzed_at": "2025-08-15T16:19:40.620412638Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 14, + "end_line": 108, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_file_method", + "start_line": 17, + "end_line": 72, + "parameters": [ + "&mut self", + "file_box: &FileBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(in crate::interpreter)" + } + }, + { + "name": "execute_result_method", + "start_line": 76, + "end_line": 107, + "parameters": [ + "&mut self", + "result_box: &ResultBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(in crate::interpreter)", + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::super::*", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{ResultBox, StringBox, NyashBox}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::FileBox", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 2, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 14, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_file_method", + "full_name": "", + "start_line": 17, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 21, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 34, + "end_line": 34, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 38, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_result_method", + "full_name": "", + "start_line": 76, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 18, + "max_depth": 11, + "node_type_counts": { + "function": 2, + "if_statement": 9, + "variable": 2, + "file_root": 1, + "import": 3, + "class": 1 + }, + "classes": 1, + "functions": 2, + "methods": 0, + "variables": 2, + "control_structures": 9 + }, + "generated_at": "2025-08-15T16:19:40.620419992Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/interpreter/methods/mod.rs", + "size_bytes": 0, + "total_lines": 33, + "code_lines": 13, + "comment_lines": 18, + "empty_lines": 2, + "code_ratio": 0.3939393939393939, + "analyzed_at": "2025-08-15T16:19:40.620554637Z", + "metadata": {} + }, + "language": "rust", + "classes": [], + "functions": [], + "imports": [ + { + "type": "rust_use", + "module_path": "", + "imported_names": [], + "alias": null, + "line_number": 28, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "", + "imported_names": [], + "alias": null, + "line_number": 29, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "", + "imported_names": [], + "alias": null, + "line_number": 30, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "", + "imported_names": [], + "alias": null, + "line_number": 31, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "", + "imported_names": [], + "alias": null, + "line_number": 32, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "", + "imported_names": [], + "alias": null, + "line_number": 33, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 0, + "function_count": 0, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 30, + "end_line": 30, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 31, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 32, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 33, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 7, + "max_depth": 1, + "node_type_counts": { + "file_root": 1, + "import": 6 + }, + "classes": 0, + "functions": 0, + "methods": 0, + "variables": 0, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.620556929Z" + }, + { + "file_info": { + "name": "network_methods.rs", + "path": "src/interpreter/methods/network_methods.rs", + "size_bytes": 0, + "total_lines": 124, + "code_lines": 112, + "comment_lines": 9, + "empty_lines": 3, + "code_ratio": 0.9032258064516129, + "analyzed_at": "2025-08-15T16:19:40.620515140Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 13, + "end_line": 124, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_http_method", + "start_line": 15, + "end_line": 71, + "parameters": [ + "&mut self", + "http_box: &HttpClientBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(in crate::interpreter)", + "type": "function" + } + }, + { + "name": "execute_stream_method", + "start_line": 74, + "end_line": 123, + "parameters": [ + "&mut self", + "stream_box: &StreamBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(in crate::interpreter)", + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::super::*", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{HttpClientBox, StreamBox}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 2, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 13, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_http_method", + "full_name": "", + "start_line": 15, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 19, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 24, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 33, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 34, + "end_line": 34, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 38, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_stream_method", + "full_name": "", + "start_line": 74, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 78, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 83, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 112, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 28, + "max_depth": 11, + "node_type_counts": { + "function": 2, + "if_statement": 10, + "class": 1, + "variable": 11, + "file_root": 1, + "import": 3 + }, + "classes": 1, + "functions": 2, + "methods": 0, + "variables": 11, + "control_structures": 10 + }, + "generated_at": "2025-08-15T16:19:40.620522722Z" + }, + { + "file_info": { + "name": "p2p_methods.rs", + "path": "src/interpreter/methods/p2p_methods.rs", + "size_bytes": 0, + "total_lines": 114, + "code_lines": 83, + "comment_lines": 16, + "empty_lines": 15, + "code_ratio": 0.7280701754385965, + "analyzed_at": "2025-08-15T16:19:40.620457146Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 13, + "end_line": 114, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_intent_box_method", + "start_line": 15, + "end_line": 41, + "parameters": [ + "&mut self", + "intent_box: &IntentBox", + "method: &str", + "_arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(in crate::interpreter)", + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::interpreter::core::NyashInterpreter", + "imported_names": [], + "alias": null, + "line_number": 6, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::interpreter::core::RuntimeError", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::ast::ASTNode", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{IntentBox}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::method_box::MethodBox", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 1, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 6, + "end_line": 6, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 13, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_intent_box_method", + "full_name": "", + "start_line": 15, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 9, + "max_depth": 3, + "node_type_counts": { + "file_root": 1, + "import": 6, + "class": 1, + "function": 1 + }, + "classes": 1, + "functions": 1, + "methods": 0, + "variables": 0, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.620467476Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/interpreter/mod.rs", + "size_bytes": 0, + "total_lines": 115, + "code_lines": 83, + "comment_lines": 19, + "empty_lines": 13, + "code_ratio": 0.7217391304347827, + "analyzed_at": "2025-08-15T16:19:40.615250072Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ControlFlow", + "parent_class": null, + "start_line": 50, + "end_line": 55, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "ConstructorContext", + "parent_class": null, + "start_line": 59, + "end_line": 62, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BoxDeclaration", + "parent_class": null, + "start_line": 66, + "end_line": 77, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "StaticBoxDefinition", + "parent_class": null, + "start_line": 81, + "end_line": 93, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "StaticBoxState", + "parent_class": null, + "start_line": 97, + "end_line": 101, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "FunctionDeclaration", + "parent_class": null, + "start_line": 105, + "end_line": 109, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + } + ], + "functions": [], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::ast::{ASTNode, BinaryOperator, CatchClause}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox, AddBox, SubtractBox, MultiplyBox, DivideBox, ModuloBox, CompareBox, ArrayBox, FileBox, ResultBox, ErrorBox, BoxCore}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::FutureBox", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::instance::InstanceBox", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::channel_box::ChannelBox", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::math_box::{MathBox, FloatBox, RangeBox}", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::time_box::{TimeBox, DateTimeBox, TimerBox}", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::map_box::MapBox", + "imported_names": [], + "alias": null, + "line_number": 16, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::random_box::RandomBox", + "imported_names": [], + "alias": null, + "line_number": 17, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::sound_box::SoundBox", + "imported_names": [], + "alias": null, + "line_number": 18, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::debug_box::DebugBox", + "imported_names": [], + "alias": null, + "line_number": 19, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::method_box::MethodBox", + "imported_names": [], + "alias": null, + "line_number": 20, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::web::{WebDisplayBox, WebConsoleBox, WebCanvasBox}", + "imported_names": [], + "alias": null, + "line_number": 24, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::finalization", + "imported_names": [], + "alias": null, + "line_number": 25, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::exception_box", + "imported_names": [], + "alias": null, + "line_number": 26, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 27, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "core::NyashInterpreter", + "imported_names": [], + "alias": null, + "line_number": 45, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "", + "imported_names": [], + "alias": null, + "line_number": 112, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::stdlib::BuiltinStdlib", + "imported_names": [], + "alias": null, + "line_number": 115, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 6, + "function_count": 0, + "import_count": 19, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 17, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 18, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 19, + "end_line": 19, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 24, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 25, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 26, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ControlFlow", + "full_name": "", + "start_line": 50, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConstructorContext", + "full_name": "", + "start_line": 59, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxDeclaration", + "full_name": "", + "start_line": 66, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StaticBoxDefinition", + "full_name": "", + "start_line": 81, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "StaticBoxState", + "full_name": "", + "start_line": 97, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FunctionDeclaration", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 112, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 26, + "max_depth": 1, + "node_type_counts": { + "class": 6, + "file_root": 1, + "import": 19 + }, + "classes": 6, + "functions": 0, + "methods": 0, + "variables": 0, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.615265117Z" + }, + { + "file_info": { + "name": "objects.rs", + "path": "src/interpreter/objects.rs", + "size_bytes": 0, + "total_lines": 1106, + "code_lines": 837, + "comment_lines": 187, + "empty_lines": 82, + "code_ratio": 0.7567811934900542, + "analyzed_at": "2025-08-15T16:19:40.615819418Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 15, + "end_line": 1106, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_new", + "start_line": 17, + "end_line": 735, + "parameters": [ + "&mut self", + "class: &str", + "arguments: &[ASTNode]", + "type_arguments: &[String]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "closure", + "start_line": 48, + "end_line": 50, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 723, + "end_line": 723, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 724, + "end_line": 724, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 725, + "end_line": 725, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_constructor", + "start_line": 738, + "end_line": 797, + "parameters": [ + "&mut self", + "instance: &SharedNyashBox", + "constructor: &ASTNode", + "arguments: &[ASTNode]", + "box_decl: &BoxDeclaration" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "register_box_declaration", + "start_line": 800, + "end_line": 848, + "parameters": [ + "&mut self", + "name: String", + "fields", + "methods", + "constructors", + "init_fields", + "weak_fields", + "is_interface: bool", + "extends", + "implements", + "type_parameters" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "validate_generic_arguments", + "start_line": 851, + "end_line": 888, + "parameters": [ + "&self", + "box_decl: &BoxDeclaration", + "type_arguments: &[String]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "is_valid_type", + "start_line": 891, + "end_line": 917, + "parameters": [ + "&self", + "type_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_parent_constructor", + "start_line": 920, + "end_line": 954, + "parameters": [ + "&mut self", + "parent_class: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 936, + "end_line": 936, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 940, + "end_line": 942, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "resolve_inheritance", + "start_line": 957, + "end_line": 1045, + "parameters": [ + "&self", + "box_decl: &BoxDeclaration" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "specialize_generic_class", + "start_line": 1048, + "end_line": 1094, + "parameters": [ + "&self", + "generic_decl: &BoxDeclaration", + "type_arguments: &[String]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "substitute_types_in_fields", + "start_line": 1097, + "end_line": 1105, + "parameters": [ + "&self", + "fields: &[String]", + "_type_mapping: &HashMap" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{NullBox, ConsoleBox, FloatBox, DateTimeBox, SocketBox, HTTPServerBox, HTTPRequestBox, HTTPResponseBox}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::SharedNyashBox", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::Arc", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::is_builtin_box", + "imported_names": [], + "alias": null, + "line_number": 965, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 1053, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 15, + "import_count": 6, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 15, + "end_line": 1106, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_new", + "full_name": "", + "start_line": 17, + "end_line": 735, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 24, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 30, + "end_line": 30, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 31, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 41, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 42, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 43, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 47, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 98, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 110, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 115, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 130, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 145, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 221, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 226, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 237, + "end_line": 237, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 238, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 250, + "end_line": 254, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 256, + "end_line": 263, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 257, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 268, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 275, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 276, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 276, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 295, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 296, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 296, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 304, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 309, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 314, + "end_line": 314, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 315, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 319, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 320, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 331, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 337, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 338, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 338, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 344, + "end_line": 356, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 349, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 360, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 365, + "end_line": 365, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 373, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 378, + "end_line": 378, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 379, + "end_line": 387, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 380, + "end_line": 380, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 398, + "end_line": 402, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 403, + "end_line": 403, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 409, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 414, + "end_line": 414, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 420, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 425, + "end_line": 425, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 431, + "end_line": 435, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 436, + "end_line": 436, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 442, + "end_line": 446, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 447, + "end_line": 447, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 453, + "end_line": 457, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 458, + "end_line": 458, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 463, + "end_line": 467, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 468, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 480, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 484, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 489, + "end_line": 489, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 490, + "end_line": 501, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 506, + "end_line": 510, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 513, + "end_line": 513, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 514, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 514, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 523, + "end_line": 523, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 524, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 532, + "end_line": 532, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 538, + "end_line": 542, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 545, + "end_line": 545, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 546, + "end_line": 552, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 546, + "end_line": 552, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 555, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 556, + "end_line": 562, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 556, + "end_line": 562, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 571, + "end_line": 575, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 576, + "end_line": 576, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 581, + "end_line": 585, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 586, + "end_line": 586, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 591, + "end_line": 595, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 598, + "end_line": 598, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 601, + "end_line": 601, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 602, + "end_line": 609, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 603, + "end_line": 603, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 613, + "end_line": 617, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 618, + "end_line": 618, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 623, + "end_line": 627, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 628, + "end_line": 628, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 633, + "end_line": 637, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 638, + "end_line": 638, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 643, + "end_line": 647, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 648, + "end_line": 648, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 655, + "end_line": 659, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 662, + "end_line": 667, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 663, + "end_line": 663, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 670, + "end_line": 672, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 675, + "end_line": 679, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 682, + "end_line": 689, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 682, + "end_line": 689, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 684, + "end_line": 684, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 685, + "end_line": 685, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 692, + "end_line": 692, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 695, + "end_line": 695, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 696, + "end_line": 696, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 699, + "end_line": 705, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 707, + "end_line": 707, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 713, + "end_line": 713, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 717, + "end_line": 717, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 718, + "end_line": 718, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 719, + "end_line": 719, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 720, + "end_line": 720, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 722, + "end_line": 732, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 728, + "end_line": 732, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_constructor", + "full_name": "", + "start_line": 738, + "end_line": 797, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 745, + "end_line": 796, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 747, + "end_line": 747, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 748, + "end_line": 750, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 753, + "end_line": 757, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 760, + "end_line": 760, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 764, + "end_line": 766, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 772, + "end_line": 772, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 779, + "end_line": 779, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 780, + "end_line": 785, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 781, + "end_line": 784, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_box_declaration", + "full_name": "", + "start_line": 800, + "end_line": 848, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 815, + "end_line": 828, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 816, + "end_line": 816, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 829, + "end_line": 840, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 843, + "end_line": 843, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "validate_generic_arguments", + "full_name": "", + "start_line": 851, + "end_line": 888, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 854, + "end_line": 865, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 868, + "end_line": 876, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 879, + "end_line": 885, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 880, + "end_line": 884, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_valid_type", + "full_name": "", + "start_line": 891, + "end_line": 917, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 893, + "end_line": 900, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 904, + "end_line": 904, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 906, + "end_line": 906, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 910, + "end_line": 910, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 912, + "end_line": 912, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_parent_constructor", + "full_name": "", + "start_line": 920, + "end_line": 954, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 923, + "end_line": 928, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 924, + "end_line": 924, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 932, + "end_line": 932, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 933, + "end_line": 933, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 935, + "end_line": 953, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 939, + "end_line": 942, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_inheritance", + "full_name": "", + "start_line": 957, + "end_line": 1045, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 959, + "end_line": 959, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 960, + "end_line": 960, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 963, + "end_line": 1002, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 965, + "end_line": 965, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 967, + "end_line": 967, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 972, + "end_line": 974, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 977, + "end_line": 1001, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 981, + "end_line": 986, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 982, + "end_line": 982, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 989, + "end_line": 993, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 996, + "end_line": 996, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1008, + "end_line": 1012, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1009, + "end_line": 1011, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1014, + "end_line": 1016, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1019, + "end_line": 1042, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1020, + "end_line": 1025, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1021, + "end_line": 1021, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1027, + "end_line": 1031, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1034, + "end_line": 1041, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1035, + "end_line": 1040, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "specialize_generic_class", + "full_name": "", + "start_line": 1048, + "end_line": 1094, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 1053, + "end_line": 1053, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1056, + "end_line": 1060, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1063, + "end_line": 1063, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1064, + "end_line": 1066, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1069, + "end_line": 1069, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1080, + "end_line": 1080, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1081, + "end_line": 1087, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1083, + "end_line": 1086, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1084, + "end_line": 1084, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "substitute_types_in_fields", + "full_name": "", + "start_line": 1097, + "end_line": 1105, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 219, + "max_depth": 18, + "node_type_counts": { + "import": 6, + "function": 9, + "class": 1, + "if_statement": 75, + "variable": 116, + "for_loop": 11, + "file_root": 1 + }, + "classes": 1, + "functions": 9, + "methods": 0, + "variables": 116, + "control_structures": 86 + }, + "generated_at": "2025-08-15T16:19:40.615885517Z" + }, + { + "file_info": { + "name": "statements.rs", + "path": "src/interpreter/statements.rs", + "size_bytes": 0, + "total_lines": 523, + "code_lines": 385, + "comment_lines": 69, + "empty_lines": 69, + "code_ratio": 0.7361376673040153, + "analyzed_at": "2025-08-15T16:19:40.616079875Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 13, + "end_line": 523, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_statement", + "start_line": 15, + "end_line": 175, + "parameters": [ + "&mut self", + "statement: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "execute_if", + "start_line": 178, + "end_line": 202, + "parameters": [ + "&mut self", + "condition: &ASTNode", + "then_body: &[ASTNode]", + "else_body: &Option>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_loop", + "start_line": 205, + "end_line": 243, + "parameters": [ + "&mut self", + "condition: &Box", + "body: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_assignment", + "start_line": 246, + "end_line": 392, + "parameters": [ + "&mut self", + "target: &ASTNode", + "value: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 298, + "end_line": 298, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 313, + "end_line": 313, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 325, + "end_line": 327, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 346, + "end_line": 346, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 358, + "end_line": 360, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 379, + "end_line": 379, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_try_catch", + "start_line": 395, + "end_line": 476, + "parameters": [ + "&mut self", + "try_body: &[ASTNode]", + "catch_clauses: &[super::CatchClause]", + "finally_body: &Option>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "execute_throw", + "start_line": 479, + "end_line": 492, + "parameters": [ + "&mut self", + "expression: &ASTNode" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_using_statement", + "start_line": 495, + "end_line": 512, + "parameters": [ + "&mut self", + "namespace_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "ensure_stdlib_initialized", + "start_line": 515, + "end_line": 522, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::BuiltinStdlib", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 14, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 13, + "end_line": 523, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_statement", + "full_name": "", + "start_line": 15, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 22, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 98, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 145, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 159, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 162, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_if", + "full_name": "", + "start_line": 178, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 180, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_loop", + "full_name": "", + "start_line": 205, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 209, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 210, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 221, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_assignment", + "full_name": "", + "start_line": 246, + "end_line": 392, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 247, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 259, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 265, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 280, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 282, + "end_line": 319, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 284, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 291, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 292, + "end_line": 302, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 293, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 310, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 306, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 307, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 324, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 329, + "end_line": 352, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 331, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 338, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 339, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 340, + "end_line": 340, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 360, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 362, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 364, + "end_line": 368, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 371, + "end_line": 376, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 372, + "end_line": 375, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 373, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_try_catch", + "full_name": "", + "start_line": 395, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Option>", + "full_name": "", + "start_line": 397, + "end_line": 397, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 400, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 401, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 405, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 406, + "end_line": 412, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 425, + "end_line": 455, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 426, + "end_line": 454, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 428, + "end_line": 432, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 429, + "end_line": 431, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 435, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 440, + "end_line": 445, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 442, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 448, + "end_line": 450, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 458, + "end_line": 465, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 459, + "end_line": 464, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 461, + "end_line": 463, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 468, + "end_line": 470, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_throw", + "full_name": "", + "start_line": 479, + "end_line": 492, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 480, + "end_line": 480, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 483, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 483, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_using_statement", + "full_name": "", + "start_line": 495, + "end_line": 512, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 499, + "end_line": 503, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ensure_stdlib_initialized", + "full_name": "", + "start_line": 515, + "end_line": 522, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 516, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 92, + "max_depth": 19, + "node_type_counts": { + "class": 1, + "function": 8, + "variable": 25, + "import": 3, + "if_statement": 44, + "file_root": 1, + "for_loop": 10 + }, + "classes": 1, + "functions": 8, + "methods": 0, + "variables": 25, + "control_structures": 54 + }, + "generated_at": "2025-08-15T16:19:40.616114179Z" + }, + { + "file_info": { + "name": "system_methods.rs", + "path": "src/interpreter/system_methods.rs", + "size_bytes": 0, + "total_lines": 391, + "code_lines": 356, + "comment_lines": 26, + "empty_lines": 9, + "code_ratio": 0.9104859335038363, + "analyzed_at": "2025-08-15T16:19:40.615022481Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 16, + "end_line": 391, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_time_method", + "start_line": 18, + "end_line": 74, + "parameters": [ + "&mut self", + "time_box: &TimeBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_datetime_method", + "start_line": 77, + "end_line": 189, + "parameters": [ + "&mut self", + "datetime_box: &DateTimeBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_timer_method", + "start_line": 192, + "end_line": 227, + "parameters": [ + "&mut self", + "timer_box: &TimerBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_debug_method", + "start_line": 230, + "end_line": 390, + "parameters": [ + "&mut self", + "debug_box: &DebugBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 348, + "end_line": 348, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::StringBox", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{TimeBox, DateTimeBox}", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 5, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 16, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_time_method", + "full_name": "", + "start_line": 18, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 21, + "end_line": 21, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 22, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 37, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_datetime_method", + "full_name": "", + "start_line": 77, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 112, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 120, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 152, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 168, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 176, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_timer_method", + "full_name": "", + "start_line": 192, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 203, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 211, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_debug_method", + "full_name": "", + "start_line": 230, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 233, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 253, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 257, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 263, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 263, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 273, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 281, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 292, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 296, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 301, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 301, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 311, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 319, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 324, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 324, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 334, + "end_line": 338, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 339, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 339, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 347, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 353, + "end_line": 357, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 361, + "end_line": 365, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 369, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 377, + "end_line": 381, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 61, + "max_depth": 11, + "node_type_counts": { + "class": 1, + "function": 4, + "variable": 11, + "file_root": 1, + "import": 3, + "if_statement": 37, + "for_loop": 4 + }, + "classes": 1, + "functions": 4, + "methods": 0, + "variables": 11, + "control_structures": 41 + }, + "generated_at": "2025-08-15T16:19:40.615044511Z" + }, + { + "file_info": { + "name": "web_methods.rs", + "path": "src/interpreter/web_methods.rs", + "size_bytes": 0, + "total_lines": 451, + "code_lines": 420, + "comment_lines": 24, + "empty_lines": 7, + "code_ratio": 0.9312638580931264, + "analyzed_at": "2025-08-15T16:19:40.615109023Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashInterpreter", + "parent_class": null, + "start_line": 20, + "end_line": 451, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "execute_web_display_method", + "start_line": 23, + "end_line": 146, + "parameters": [ + "&mut self", + "web_display_box: &WebDisplayBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "execute_web_console_method", + "start_line": 150, + "end_line": 253, + "parameters": [ + "&mut self", + "web_console_box: &WebConsoleBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "execute_web_canvas_method", + "start_line": 257, + "end_line": 450, + "parameters": [ + "&mut self", + "web_canvas_box: &WebCanvasBox", + "method: &str", + "arguments: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::web::{WebDisplayBox, WebConsoleBox, WebCanvasBox}", + "imported_names": [], + "alias": null, + "line_number": 17, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 3, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 17, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashInterpreter", + "full_name": "", + "start_line": 20, + "end_line": 451, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_web_display_method", + "full_name": "", + "start_line": 23, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 26, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 34, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 39, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 49, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 79, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 85, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 100, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 132, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_web_console_method", + "full_name": "", + "start_line": 150, + "end_line": 253, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 153, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 176, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 181, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 191, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 211, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 220, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_web_canvas_method", + "full_name": "", + "start_line": 257, + "end_line": 450, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 263, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 268, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 277, + "end_line": 281, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 282, + "end_line": 290, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 282, + "end_line": 290, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 284, + "end_line": 290, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 291, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 291, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 293, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 300, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 300, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 302, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 309, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 309, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 311, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 318, + "end_line": 318, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 323, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 330, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 337, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 337, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 339, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 346, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 346, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 355, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 355, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 364, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 365, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 365, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 378, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 383, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 383, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 385, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 392, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 392, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 394, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 401, + "end_line": 409, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 401, + "end_line": 409, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 403, + "end_line": 409, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 410, + "end_line": 410, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 415, + "end_line": 419, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 420, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 421, + "end_line": 429, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 421, + "end_line": 429, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 423, + "end_line": 429, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 430, + "end_line": 438, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 430, + "end_line": 438, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 432, + "end_line": 438, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 439, + "end_line": 439, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 440, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 100, + "max_depth": 13, + "node_type_counts": { + "variable": 37, + "class": 1, + "for_loop": 3, + "if_statement": 53, + "import": 2, + "function": 3, + "file_root": 1 + }, + "classes": 1, + "functions": 3, + "methods": 0, + "variables": 37, + "control_structures": 56 + }, + "generated_at": "2025-08-15T16:19:40.615161695Z" + }, + { + "file_info": { + "name": "lib.rs", + "path": "src/lib.rs", + "size_bytes": 0, + "total_lines": 207, + "code_lines": 136, + "comment_lines": 39, + "empty_lines": 32, + "code_ratio": 0.6570048309178744, + "analyzed_at": "2025-08-15T16:19:40.615145477Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashWasm", + "parent_class": null, + "start_line": 82, + "end_line": 84, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "NyashWasm", + "parent_class": null, + "start_line": 88, + "end_line": 207, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 91, + "end_line": 103, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "eval", + "start_line": 107, + "end_line": 160, + "parameters": [ + "&mut self", + "code: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 116, + "end_line": 116, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 117, + "end_line": 117, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 157, + "end_line": 157, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 159, + "end_line": 159, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "eval_single_block", + "start_line": 163, + "end_line": 183, + "parameters": [ + "&mut self", + "code: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "is_complete_statement", + "start_line": 186, + "end_line": 200, + "parameters": [ + "&self", + "code: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 195, + "end_line": 195, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 196, + "end_line": 196, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "version", + "start_line": 204, + "end_line": 206, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "wasm_bindgen::prelude::*", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox}", + "imported_names": [], + "alias": null, + "line_number": 52, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "box_arithmetic::{AddBox, SubtractBox, MultiplyBox, DivideBox, ModuloBox, CompareBox}", + "imported_names": [], + "alias": null, + "line_number": 53, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "environment::{Environment, PythonCompatEnvironment}", + "imported_names": [], + "alias": null, + "line_number": 54, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "tokenizer::{NyashTokenizer, TokenType, Token}", + "imported_names": [], + "alias": null, + "line_number": 55, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "type_box::{TypeBox, TypeRegistry, MethodSignature}", + "imported_names": [], + "alias": null, + "line_number": 56, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "ast::{ASTNode, BinaryOperator, LiteralValue}", + "imported_names": [], + "alias": null, + "line_number": 57, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "parser::{NyashParser, ParseError}", + "imported_names": [], + "alias": null, + "line_number": 58, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "interpreter::{NyashInterpreter, RuntimeError}", + "imported_names": [], + "alias": null, + "line_number": 59, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "instance::InstanceBox", + "imported_names": [], + "alias": null, + "line_number": 60, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "channel_box::{ChannelBox, MessageBox}", + "imported_names": [], + "alias": null, + "line_number": 61, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::math_box::{MathBox, FloatBox, RangeBox}", + "imported_names": [], + "alias": null, + "line_number": 62, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::time_box::{TimeBox, DateTimeBox, TimerBox}", + "imported_names": [], + "alias": null, + "line_number": 63, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::map_box::MapBox", + "imported_names": [], + "alias": null, + "line_number": 64, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::random_box::RandomBox", + "imported_names": [], + "alias": null, + "line_number": 65, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::sound_box::SoundBox", + "imported_names": [], + "alias": null, + "line_number": 66, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::debug_box::DebugBox", + "imported_names": [], + "alias": null, + "line_number": 67, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::console_box::ConsoleBox", + "imported_names": [], + "alias": null, + "line_number": 68, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "method_box::{MethodBox, BoxType, FunctionDefinition, EphemeralInstance}", + "imported_names": [], + "alias": null, + "line_number": 69, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "boxes::null_box::{NullBox, null}", + "imported_names": [], + "alias": null, + "line_number": 70, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "value::NyashValue", + "imported_names": [], + "alias": null, + "line_number": 73, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "wasm_test::wasm_test::test_direct_canvas_draw", + "imported_names": [], + "alias": null, + "line_number": 77, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 2, + "function_count": 11, + "import_count": 22, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 56, + "end_line": 56, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 63, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 69, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 70, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashWasm", + "full_name": "", + "start_line": 82, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashWasm", + "full_name": "", + "start_line": 88, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 91, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "eval", + "full_name": "", + "start_line": 107, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 110, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<&str>", + "full_name": "", + "start_line": 115, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 126, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 129, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 148, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "eval_single_block", + "full_name": "", + "start_line": 163, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 175, + "end_line": 179, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_complete_statement", + "full_name": "", + "start_line": 186, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 187, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 190, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "version", + "full_name": "", + "start_line": 204, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 52, + "max_depth": 12, + "node_type_counts": { + "file_root": 1, + "if_statement": 9, + "for_loop": 1, + "function": 5, + "class": 2, + "import": 22, + "variable": 12 + }, + "classes": 2, + "functions": 5, + "methods": 0, + "variables": 12, + "control_structures": 10 + }, + "generated_at": "2025-08-15T16:19:40.615160825Z" + }, + { + "file_info": { + "name": "main.rs", + "path": "src/main.rs", + "size_bytes": 0, + "total_lines": 69, + "code_lines": 41, + "comment_lines": 18, + "empty_lines": 10, + "code_ratio": 0.5942028985507246, + "analyzed_at": "2025-08-15T16:19:40.615808870Z", + "metadata": {} + }, + "language": "rust", + "classes": [], + "functions": [ + { + "name": "main", + "start_line": 49, + "end_line": 56, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_main_functionality", + "start_line": 64, + "end_line": 68, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "cli::CliConfig", + "imported_names": [], + "alias": null, + "line_number": 45, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "runner::NyashRunner", + "imported_names": [], + "alias": null, + "line_number": 46, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 60, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "box_trait::{StringBox, BoxCore}", + "imported_names": [], + "alias": null, + "line_number": 61, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 0, + "function_count": 2, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 45, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "main", + "full_name": "", + "start_line": 49, + "end_line": 56, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 51, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 60, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 61, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_main_functionality", + "full_name": "", + "start_line": 64, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 10, + "max_depth": 5, + "node_type_counts": { + "file_root": 1, + "import": 4, + "function": 2, + "variable": 3 + }, + "classes": 0, + "functions": 2, + "methods": 0, + "variables": 3, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.615813921Z" + }, + { + "file_info": { + "name": "message_bus.rs", + "path": "src/messaging/message_bus.rs", + "size_bytes": 0, + "total_lines": 140, + "code_lines": 86, + "comment_lines": 35, + "empty_lines": 19, + "code_ratio": 0.6142857142857143, + "analyzed_at": "2025-08-15T16:19:40.622527394Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BusEndpoint", + "parent_class": null, + "start_line": 31, + "end_line": 34, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "BusEndpoint", + "parent_class": null, + "start_line": 36, + "end_line": 63, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "SendError", + "parent_class": null, + "start_line": 67, + "end_line": 72, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "MessageBusData", + "parent_class": null, + "start_line": 75, + "end_line": 78, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MessageBusData", + "parent_class": null, + "start_line": 80, + "end_line": 86, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Debug" + } + }, + { + "name": "MessageBusData", + "parent_class": null, + "start_line": 91, + "end_line": 128, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MessageBusData", + "parent_class": null, + "start_line": 135, + "end_line": 140, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 37, + "end_line": 42, + "parameters": [ + "node_id: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add_handler", + "start_line": 45, + "end_line": 50, + "parameters": [ + "&self", + "intent_name: &str", + "handler: IntentHandler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "deliver", + "start_line": 53, + "end_line": 62, + "parameters": [ + "&self", + "intent: IntentBox", + "from: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 81, + "end_line": 85, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 93, + "end_line": 97, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "register_node", + "start_line": 100, + "end_line": 102, + "parameters": [ + "&mut self", + "id: String", + "endpoint: BusEndpoint" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "unregister_node", + "start_line": 105, + "end_line": 107, + "parameters": [ + "&mut self", + "id: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "node_exists", + "start_line": 110, + "end_line": 112, + "parameters": [ + "&self", + "id: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "route", + "start_line": 115, + "end_line": 122, + "parameters": [ + "&self", + "to: &str", + "intent: IntentBox", + "from: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_nodes", + "start_line": 125, + "end_line": 127, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 131, + "end_line": 133, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "global", + "start_line": 137, + "end_line": 139, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::boxes::IntentBox", + "imported_names": [], + "alias": null, + "line_number": 21, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex}", + "imported_names": [], + "alias": null, + "line_number": 22, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 23, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "once_cell::sync::Lazy", + "imported_names": [], + "alias": null, + "line_number": 24, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 12, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 21, + "end_line": 21, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 22, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 23, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 24, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BusEndpoint", + "full_name": "", + "start_line": 31, + "end_line": 34, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BusEndpoint", + "full_name": "", + "start_line": 36, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 37, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_handler", + "full_name": "", + "start_line": 45, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 46, + "end_line": 46, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "deliver", + "full_name": "", + "start_line": 53, + "end_line": 62, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 58, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SendError", + "full_name": "", + "start_line": 67, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MessageBusData", + "full_name": "", + "start_line": 75, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MessageBusData", + "full_name": "", + "start_line": 80, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 81, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MessageBusData", + "full_name": "", + "start_line": 91, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 93, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_node", + "full_name": "", + "start_line": 100, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "unregister_node", + "full_name": "", + "start_line": 105, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "node_exists", + "full_name": "", + "start_line": 110, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "route", + "full_name": "", + "start_line": 115, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_nodes", + "full_name": "", + "start_line": 125, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "GLOBAL_MESSAGE_BUS", + "full_name": "", + "start_line": 131, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MessageBusData", + "full_name": "", + "start_line": 135, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "global", + "full_name": "", + "start_line": 137, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 30, + "max_depth": 9, + "node_type_counts": { + "variable": 4, + "import": 4, + "class": 7, + "for_loop": 1, + "function": 11, + "file_root": 1, + "if_statement": 2 + }, + "classes": 7, + "functions": 11, + "methods": 0, + "variables": 4, + "control_structures": 3 + }, + "generated_at": "2025-08-15T16:19:40.622536421Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/messaging/mod.rs", + "size_bytes": 0, + "total_lines": 9, + "code_lines": 2, + "comment_lines": 5, + "empty_lines": 2, + "code_ratio": 0.2222222222222222, + "analyzed_at": "2025-08-15T16:19:40.623477253Z", + "metadata": {} + }, + "language": "rust", + "classes": [], + "functions": [], + "imports": [ + { + "type": "rust_use", + "module_path": "message_bus::{MessageBus, MessageBusData, BusEndpoint, IntentHandler, SendError}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 0, + "function_count": 0, + "import_count": 1, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 2, + "max_depth": 1, + "node_type_counts": { + "file_root": 1, + "import": 1 + }, + "classes": 0, + "functions": 0, + "methods": 0, + "variables": 0, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.623478752Z" + }, + { + "file_info": { + "name": "method_box.rs", + "path": "src/method_box.rs", + "size_bytes": 0, + "total_lines": 220, + "code_lines": 149, + "comment_lines": 36, + "empty_lines": 35, + "code_ratio": 0.6772727272727272, + "analyzed_at": "2025-08-15T16:19:40.615798965Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BoxType", + "parent_class": null, + "start_line": 17, + "end_line": 26, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "FunctionDefinition", + "parent_class": null, + "start_line": 30, + "end_line": 35, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MethodBox", + "parent_class": null, + "start_line": 39, + "end_line": 51, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "MethodBox", + "parent_class": null, + "start_line": 53, + "end_line": 93, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MethodBox", + "parent_class": null, + "start_line": 95, + "end_line": 126, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "MethodBox", + "parent_class": null, + "start_line": 128, + "end_line": 148, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "BoxCore" + } + }, + { + "name": "MethodBox", + "parent_class": null, + "start_line": 150, + "end_line": 154, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "EphemeralInstance", + "parent_class": null, + "start_line": 158, + "end_line": 164, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "EphemeralInstance", + "parent_class": null, + "start_line": 168, + "end_line": 215, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 55, + "end_line": 80, + "parameters": [ + "instance", + "method_name: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 58, + "end_line": 69, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "invoke", + "start_line": 83, + "end_line": 87, + "parameters": [ + "&self", + "_args" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_instance", + "start_line": 90, + "end_line": 92, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "to_string_box", + "start_line": 96, + "end_line": 98, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 100, + "end_line": 112, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 114, + "end_line": 116, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 118, + "end_line": 120, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 123, + "end_line": 125, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 129, + "end_line": 131, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 133, + "end_line": 135, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 137, + "end_line": 139, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 141, + "end_line": 143, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 145, + "end_line": 147, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 151, + "end_line": 153, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 170, + "end_line": 175, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "from_instance", + "start_line": 178, + "end_line": 183, + "parameters": [ + "instance" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_local", + "start_line": 186, + "end_line": 188, + "parameters": [ + "&mut self", + "name: String", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_local", + "start_line": 191, + "end_line": 193, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 192, + "end_line": 192, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "resolve_variable", + "start_line": 196, + "end_line": 214, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "create_method_box", + "start_line": 218, + "end_line": 220, + "parameters": [ + "instance", + "method_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::ast::ASTNode", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::instance::InstanceBox", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex}", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 166, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 9, + "function_count": 22, + "import_count": 7, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BoxType", + "full_name": "", + "start_line": 17, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FunctionDefinition", + "full_name": "", + "start_line": 30, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MethodBox", + "full_name": "", + "start_line": 39, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MethodBox", + "full_name": "", + "start_line": 53, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 55, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 68, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "invoke", + "full_name": "", + "start_line": 83, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_instance", + "full_name": "", + "start_line": 90, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MethodBox", + "full_name": "", + "start_line": 95, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 96, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 100, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 114, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 118, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 123, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MethodBox", + "full_name": "", + "start_line": 128, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 129, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 133, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 137, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 141, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 145, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MethodBox", + "full_name": "", + "start_line": 150, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 151, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EphemeralInstance", + "full_name": "", + "start_line": 158, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EphemeralInstance", + "full_name": "", + "start_line": 168, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 170, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_instance", + "full_name": "", + "start_line": 178, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_local", + "full_name": "", + "start_line": 186, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_local", + "full_name": "", + "start_line": 191, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "resolve_variable", + "full_name": "", + "start_line": 196, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 198, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 203, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 205, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_method_box", + "full_name": "", + "start_line": 218, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 48, + "max_depth": 13, + "node_type_counts": { + "if_statement": 7, + "class": 9, + "import": 7, + "variable": 4, + "file_root": 1, + "function": 20 + }, + "classes": 9, + "functions": 20, + "methods": 0, + "variables": 4, + "control_structures": 7 + }, + "generated_at": "2025-08-15T16:19:40.615810490Z" + }, + { + "file_info": { + "name": "basic_block.rs", + "path": "src/mir/basic_block.rs", + "size_bytes": 0, + "total_lines": 428, + "code_lines": 295, + "comment_lines": 55, + "empty_lines": 78, + "code_ratio": 0.6892523364485982, + "analyzed_at": "2025-08-15T16:19:40.619384291Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BasicBlockId", + "parent_class": null, + "start_line": 13, + "end_line": 13, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "BasicBlockId", + "parent_class": null, + "start_line": 15, + "end_line": 35, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "BasicBlockId", + "parent_class": null, + "start_line": 37, + "end_line": 41, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + }, + { + "name": "BasicBlock", + "parent_class": null, + "start_line": 45, + "end_line": 66, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BasicBlock", + "parent_class": null, + "start_line": 68, + "end_line": 223, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "BasicBlockIdGenerator", + "parent_class": null, + "start_line": 227, + "end_line": 229, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BasicBlockIdGenerator", + "parent_class": null, + "start_line": 231, + "end_line": 253, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "BasicBlockIdGenerator", + "parent_class": null, + "start_line": 255, + "end_line": 259, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Default" + } + }, + { + "name": "BasicBlock", + "parent_class": null, + "start_line": 261, + "end_line": 290, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 17, + "end_line": 19, + "parameters": [ + "id: u32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "as_u32", + "start_line": 22, + "end_line": 24, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "from_usize", + "start_line": 27, + "end_line": 29, + "parameters": [ + "id: usize" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "to_usize", + "start_line": 32, + "end_line": 34, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 38, + "end_line": 40, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 70, + "end_line": 80, + "parameters": [ + "id: BasicBlockId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add_instruction", + "start_line": 83, + "end_line": 99, + "parameters": [ + "&mut self", + "instruction: MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_terminator", + "start_line": 102, + "end_line": 109, + "parameters": [ + "&self", + "instruction: &MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "update_successors_from_terminator", + "start_line": 112, + "end_line": 134, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "add_predecessor", + "start_line": 137, + "end_line": 139, + "parameters": [ + "&mut self", + "pred: BasicBlockId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "remove_predecessor", + "start_line": 142, + "end_line": 144, + "parameters": [ + "&mut self", + "pred: BasicBlockId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "all_instructions", + "start_line": 147, + "end_line": 149, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "defined_values", + "start_line": 152, + "end_line": 156, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 154, + "end_line": 154, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "used_values", + "start_line": 159, + "end_line": 163, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 161, + "end_line": 161, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "is_empty", + "start_line": 166, + "end_line": 168, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_terminated", + "start_line": 171, + "end_line": 173, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "ends_with_return", + "start_line": 176, + "end_line": 178, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "phi_instructions", + "start_line": 181, + "end_line": 184, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 183, + "end_line": 183, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "non_phi_instructions", + "start_line": 187, + "end_line": 190, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 189, + "end_line": 189, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "insert_instruction_after_phis", + "start_line": 193, + "end_line": 197, + "parameters": [ + "&mut self", + "instruction: MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_terminator", + "start_line": 200, + "end_line": 208, + "parameters": [ + "&mut self", + "terminator: MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "mark_reachable", + "start_line": 211, + "end_line": 213, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "dominates", + "start_line": 216, + "end_line": 222, + "parameters": [ + "&self", + "other: BasicBlockId", + "dominators: &[HashSet]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new", + "start_line": 233, + "end_line": 235, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "next", + "start_line": 238, + "end_line": 242, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "peek_next", + "start_line": 245, + "end_line": 247, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "reset", + "start_line": 250, + "end_line": 252, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "default", + "start_line": 256, + "end_line": 258, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 262, + "end_line": 289, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 268, + "end_line": 268, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_basic_block_creation", + "start_line": 298, + "end_line": 306, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_instruction_addition", + "start_line": 309, + "end_line": 323, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_terminator_addition", + "start_line": 326, + "end_line": 340, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_branch_successors", + "start_line": 343, + "end_line": 361, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_basic_block_id_generator", + "start_line": 364, + "end_line": 376, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_value_tracking", + "start_line": 379, + "end_line": 400, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_phi_instruction_ordering", + "start_line": 403, + "end_line": 427, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{MirInstruction, ValueId, EffectMask}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashSet", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 294, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{ConstValue, BinaryOp}", + "imported_names": [], + "alias": null, + "line_number": 295, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 9, + "function_count": 41, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BasicBlockId", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BasicBlockId", + "full_name": "", + "start_line": 15, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 17, + "end_line": 19, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_u32", + "full_name": "", + "start_line": 22, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_usize", + "full_name": "", + "start_line": 27, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_usize", + "full_name": "", + "start_line": 32, + "end_line": 34, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BasicBlockId", + "full_name": "", + "start_line": 37, + "end_line": 41, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 38, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BasicBlock", + "full_name": "", + "start_line": 45, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BasicBlock", + "full_name": "", + "start_line": 68, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 70, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_instruction", + "full_name": "", + "start_line": 83, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_terminator", + "full_name": "", + "start_line": 102, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "update_successors_from_terminator", + "full_name": "", + "start_line": 112, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_predecessor", + "full_name": "", + "start_line": 137, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "remove_predecessor", + "full_name": "", + "start_line": 142, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "all_instructions", + "full_name": "", + "start_line": 147, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "defined_values", + "full_name": "", + "start_line": 152, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "used_values", + "full_name": "", + "start_line": 159, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_empty", + "full_name": "", + "start_line": 166, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_terminated", + "full_name": "", + "start_line": 171, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ends_with_return", + "full_name": "", + "start_line": 176, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "phi_instructions", + "full_name": "", + "start_line": 181, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "non_phi_instructions", + "full_name": "", + "start_line": 187, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "insert_instruction_after_phis", + "full_name": "", + "start_line": 193, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 194, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_terminator", + "full_name": "", + "start_line": 200, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "mark_reachable", + "full_name": "", + "start_line": 211, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dominates", + "full_name": "", + "start_line": 216, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BasicBlockIdGenerator", + "full_name": "", + "start_line": 227, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BasicBlockIdGenerator", + "full_name": "", + "start_line": 231, + "end_line": 253, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 233, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "next", + "full_name": "", + "start_line": 238, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "peek_next", + "full_name": "", + "start_line": 245, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "reset", + "full_name": "", + "start_line": 250, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BasicBlockIdGenerator", + "full_name": "", + "start_line": 255, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 256, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BasicBlock", + "full_name": "", + "start_line": 261, + "end_line": 290, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 262, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 266, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 267, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 274, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 279, + "end_line": 281, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 284, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 294, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 295, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_basic_block_creation", + "full_name": "", + "start_line": 298, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 299, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 300, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_instruction_addition", + "full_name": "", + "start_line": 309, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 310, + "end_line": 310, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 311, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 313, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_terminator_addition", + "full_name": "", + "start_line": 326, + "end_line": 340, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 327, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 328, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 330, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_branch_successors", + "full_name": "", + "start_line": 343, + "end_line": 361, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 344, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 345, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 347, + "end_line": 347, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 350, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_basic_block_id_generator", + "full_name": "", + "start_line": 364, + "end_line": 376, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 365, + "end_line": 365, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 368, + "end_line": 368, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 369, + "end_line": 369, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_value_tracking", + "full_name": "", + "start_line": 379, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 380, + "end_line": 380, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 381, + "end_line": 381, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 383, + "end_line": 383, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 384, + "end_line": 384, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 385, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 395, + "end_line": 395, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 396, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_phi_instruction_ordering", + "full_name": "", + "start_line": 403, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 404, + "end_line": 404, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 405, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 408, + "end_line": 411, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 415, + "end_line": 418, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 422, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 425, + "end_line": 425, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 93, + "max_depth": 9, + "node_type_counts": { + "file_root": 1, + "import": 5, + "class": 9, + "if_statement": 8, + "function": 36, + "variable": 33, + "for_loop": 1 + }, + "classes": 9, + "functions": 36, + "methods": 0, + "variables": 33, + "control_structures": 9 + }, + "generated_at": "2025-08-15T16:19:40.619407102Z" + }, + { + "file_info": { + "name": "effect.rs", + "path": "src/mir/effect.rs", + "size_bytes": 0, + "total_lines": 349, + "code_lines": 232, + "comment_lines": 56, + "empty_lines": 61, + "code_ratio": 0.664756446991404, + "analyzed_at": "2025-08-15T16:19:40.619361383Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "EffectMask", + "parent_class": null, + "start_line": 11, + "end_line": 11, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "Effect", + "parent_class": null, + "start_line": 15, + "end_line": 48, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "EffectMask", + "parent_class": null, + "start_line": 50, + "end_line": 219, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "EffectMask", + "parent_class": null, + "start_line": 221, + "end_line": 225, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Default", + "type": "impl" + } + }, + { + "name": "EffectMask", + "parent_class": null, + "start_line": 227, + "end_line": 236, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + }, + { + "name": "EffectMask", + "parent_class": null, + "start_line": 238, + "end_line": 244, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::ops::BitOr" + } + }, + { + "name": "EffectMask", + "parent_class": null, + "start_line": 246, + "end_line": 250, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::ops::BitOrAssign", + "type": "impl" + } + }, + { + "name": "EffectMask", + "parent_class": null, + "start_line": 252, + "end_line": 258, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::ops::BitAnd" + } + }, + { + "name": "EffectMask", + "parent_class": null, + "start_line": 260, + "end_line": 264, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::ops::BitAndAssign" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 81, + "end_line": 83, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "from_bits", + "start_line": 86, + "end_line": 88, + "parameters": [ + "bits: u16" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "bits", + "start_line": 91, + "end_line": 93, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add", + "start_line": 96, + "end_line": 98, + "parameters": [ + "self", + "effect: Effect" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "remove", + "start_line": 101, + "end_line": 103, + "parameters": [ + "self", + "effect: Effect" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "contains", + "start_line": 106, + "end_line": 108, + "parameters": [ + "self", + "effect: Effect" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "contains_any", + "start_line": 111, + "end_line": 113, + "parameters": [ + "self", + "mask: EffectMask" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "contains_all", + "start_line": 116, + "end_line": 118, + "parameters": [ + "self", + "mask: EffectMask" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "union", + "start_line": 121, + "end_line": 123, + "parameters": [ + "self", + "other: EffectMask" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "intersection", + "start_line": 126, + "end_line": 128, + "parameters": [ + "self", + "other: EffectMask" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_pure", + "start_line": 131, + "end_line": 133, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_mut", + "start_line": 136, + "end_line": 140, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_io", + "start_line": 143, + "end_line": 153, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_control", + "start_line": 156, + "end_line": 158, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "primary_category", + "start_line": 161, + "end_line": 171, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_read_only", + "start_line": 174, + "end_line": 176, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_parallel_safe", + "start_line": 179, + "end_line": 183, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_moveable", + "start_line": 186, + "end_line": 188, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "effect_names", + "start_line": 191, + "end_line": 218, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "default", + "start_line": 222, + "end_line": 224, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 228, + "end_line": 235, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "bitor", + "start_line": 241, + "end_line": 243, + "parameters": [ + "self", + "rhs: Self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "bitor_assign", + "start_line": 247, + "end_line": 249, + "parameters": [ + "&mut self", + "rhs: Self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "bitand", + "start_line": 255, + "end_line": 257, + "parameters": [ + "self", + "rhs: Self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "bitand_assign", + "start_line": 261, + "end_line": 263, + "parameters": [ + "&mut self", + "rhs: Self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_effect_mask_creation", + "start_line": 271, + "end_line": 282, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_effect_combination", + "start_line": 285, + "end_line": 300, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_effect_union", + "start_line": 303, + "end_line": 313, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_parallel_safety", + "start_line": 316, + "end_line": 326, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_effect_names", + "start_line": 329, + "end_line": 337, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_effect_display", + "start_line": 340, + "end_line": 348, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "std::fmt", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 268, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 9, + "function_count": 31, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EffectMask", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "Effect", + "full_name": "", + "start_line": 15, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EffectMask", + "full_name": "", + "start_line": 50, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "PURE", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "MUT", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "IO", + "full_name": "", + "start_line": 58, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "CONTROL", + "full_name": "", + "start_line": 61, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "READ", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "read", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "WRITE", + "full_name": "", + "start_line": 69, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "P2P", + "full_name": "", + "start_line": 72, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "PANIC", + "full_name": "", + "start_line": 75, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "ALL", + "full_name": "", + "start_line": 78, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 81, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_bits", + "full_name": "", + "start_line": 86, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "bits", + "full_name": "", + "start_line": 91, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add", + "full_name": "", + "start_line": 96, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "remove", + "full_name": "", + "start_line": 101, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "contains", + "full_name": "", + "start_line": 106, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "contains_any", + "full_name": "", + "start_line": 111, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "contains_all", + "full_name": "", + "start_line": 116, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "union", + "full_name": "", + "start_line": 121, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "intersection", + "full_name": "", + "start_line": 126, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_pure", + "full_name": "", + "start_line": 131, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_mut", + "full_name": "", + "start_line": 136, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_io", + "full_name": "", + "start_line": 143, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_control", + "full_name": "", + "start_line": 156, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "primary_category", + "full_name": "", + "start_line": 161, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 162, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_read_only", + "full_name": "", + "start_line": 174, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_parallel_safe", + "full_name": "", + "start_line": 179, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_moveable", + "full_name": "", + "start_line": 186, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "effect_names", + "full_name": "", + "start_line": 191, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 198, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 202, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 203, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 205, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 209, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 210, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 211, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 213, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EffectMask", + "full_name": "", + "start_line": 221, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 222, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EffectMask", + "full_name": "", + "start_line": 227, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 228, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EffectMask", + "full_name": "", + "start_line": 238, + "end_line": 244, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "bitor", + "full_name": "", + "start_line": 241, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EffectMask", + "full_name": "", + "start_line": 246, + "end_line": 250, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "bitor_assign", + "full_name": "", + "start_line": 247, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EffectMask", + "full_name": "", + "start_line": 252, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "bitand", + "full_name": "", + "start_line": 255, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "EffectMask", + "full_name": "", + "start_line": 260, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "bitand_assign", + "full_name": "", + "start_line": 261, + "end_line": 263, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 268, + "end_line": 268, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_effect_mask_creation", + "full_name": "", + "start_line": 271, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 272, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 273, + "end_line": 273, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 274, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_effect_combination", + "full_name": "", + "start_line": 285, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_effect_union", + "full_name": "", + "start_line": 303, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 304, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 307, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_parallel_safety", + "full_name": "", + "start_line": 316, + "end_line": 326, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 318, + "end_line": 318, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 319, + "end_line": 319, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 320, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_effect_names", + "full_name": "", + "start_line": 329, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 330, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 333, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 334, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_effect_display", + "full_name": "", + "start_line": 340, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 341, + "end_line": 341, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 344, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 345, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 92, + "max_depth": 10, + "node_type_counts": { + "import": 2, + "if_statement": 20, + "function": 31, + "variable": 29, + "file_root": 1, + "class": 9 + }, + "classes": 9, + "functions": 31, + "methods": 0, + "variables": 29, + "control_structures": 20 + }, + "generated_at": "2025-08-15T16:19:40.619379045Z" + }, + { + "file_info": { + "name": "function.rs", + "path": "src/mir/function.rs", + "size_bytes": 0, + "total_lines": 500, + "code_lines": 345, + "comment_lines": 67, + "empty_lines": 88, + "code_ratio": 0.69, + "analyzed_at": "2025-08-15T16:19:40.619246278Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "FunctionSignature", + "parent_class": null, + "start_line": 13, + "end_line": 25, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MirFunction", + "parent_class": null, + "start_line": 29, + "end_line": 50, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "FunctionMetadata", + "parent_class": null, + "start_line": 54, + "end_line": 69, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "MirFunction", + "parent_class": null, + "start_line": 71, + "end_line": 242, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "FunctionStats", + "parent_class": null, + "start_line": 246, + "end_line": 252, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "MirModule", + "parent_class": null, + "start_line": 256, + "end_line": 268, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ModuleMetadata", + "parent_class": null, + "start_line": 272, + "end_line": 284, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MirModule", + "parent_class": null, + "start_line": 286, + "end_line": 355, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ModuleStats", + "parent_class": null, + "start_line": 359, + "end_line": 366, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "MirFunction", + "parent_class": null, + "start_line": 368, + "end_line": 397, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + }, + { + "name": "MirModule", + "parent_class": null, + "start_line": 399, + "end_line": 420, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 73, + "end_line": 86, + "parameters": [ + "signature: FunctionSignature", + "entry_block: BasicBlockId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "next_value_id", + "start_line": 89, + "end_line": 93, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "add_block", + "start_line": 96, + "end_line": 100, + "parameters": [ + "&mut self", + "block: BasicBlock" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_block", + "start_line": 103, + "end_line": 105, + "parameters": [ + "&self", + "id: BasicBlockId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_block_mut", + "start_line": 108, + "end_line": 110, + "parameters": [ + "&mut self", + "id: BasicBlockId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "entry_block", + "start_line": 113, + "end_line": 116, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "block_ids", + "start_line": 119, + "end_line": 123, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "defined_values", + "start_line": 126, + "end_line": 135, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "verify", + "start_line": 138, + "end_line": 175, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "compute_reachable_blocks", + "start_line": 178, + "end_line": 191, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "update_cfg", + "start_line": 194, + "end_line": 212, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 202, + "end_line": 204, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 203, + "end_line": 203, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "mark_reachable_blocks", + "start_line": 215, + "end_line": 222, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "stats", + "start_line": 225, + "end_line": 241, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 227, + "end_line": 227, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 231, + "end_line": 231, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "new", + "start_line": 288, + "end_line": 295, + "parameters": [ + "name: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "add_function", + "start_line": 298, + "end_line": 301, + "parameters": [ + "&mut self", + "function: MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_function", + "start_line": 304, + "end_line": 306, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_function_mut", + "start_line": 309, + "end_line": 311, + "parameters": [ + "&mut self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "function_names", + "start_line": 314, + "end_line": 316, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add_global", + "start_line": 319, + "end_line": 321, + "parameters": [ + "&mut self", + "name: String", + "value" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "verify", + "start_line": 324, + "end_line": 338, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "stats", + "start_line": 341, + "end_line": 354, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 343, + "end_line": 343, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 349, + "end_line": 349, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 350, + "end_line": 350, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 351, + "end_line": 351, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 352, + "end_line": 352, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "fmt", + "start_line": 369, + "end_line": 396, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 400, + "end_line": 419, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_function_creation", + "start_line": 428, + "end_line": 442, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_module_creation", + "start_line": 445, + "end_line": 461, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_value_id_generation", + "start_line": 464, + "end_line": 481, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_function_stats", + "start_line": 484, + "end_line": 499, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{BasicBlock, BasicBlockId, ValueId, EffectMask, MirType}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 424, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{MirType, EffectMask}", + "imported_names": [], + "alias": null, + "line_number": 425, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 11, + "function_count": 36, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FunctionSignature", + "full_name": "", + "start_line": 13, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirFunction", + "full_name": "", + "start_line": 29, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FunctionMetadata", + "full_name": "", + "start_line": 54, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirFunction", + "full_name": "", + "start_line": 71, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 73, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "next_value_id", + "full_name": "", + "start_line": 89, + "end_line": 93, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_block", + "full_name": "", + "start_line": 96, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_block", + "full_name": "", + "start_line": 103, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_block_mut", + "full_name": "", + "start_line": 108, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "entry_block", + "full_name": "", + "start_line": 113, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "block_ids", + "full_name": "", + "start_line": 119, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<_>", + "full_name": "", + "start_line": 120, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "defined_values", + "full_name": "", + "start_line": 126, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 130, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify", + "full_name": "", + "start_line": 138, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 145, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 153, + "end_line": 172, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 159, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 161, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compute_reachable_blocks", + "full_name": "", + "start_line": 178, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 179, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 180, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 182, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "update_cfg", + "full_name": "", + "start_line": 194, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<(BasicBlockId, BasicBlockId)>", + "full_name": "", + "start_line": 201, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "mark_reachable_blocks", + "full_name": "", + "start_line": 215, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 216, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stats", + "full_name": "", + "start_line": 225, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 226, + "end_line": 228, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 227, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "FunctionStats", + "full_name": "", + "start_line": 246, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirModule", + "full_name": "", + "start_line": 256, + "end_line": 268, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuleMetadata", + "full_name": "", + "start_line": 272, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirModule", + "full_name": "", + "start_line": 286, + "end_line": 355, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 288, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_function", + "full_name": "", + "start_line": 298, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 299, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_function", + "full_name": "", + "start_line": 304, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_function_mut", + "full_name": "", + "start_line": 309, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "function_names", + "full_name": "", + "start_line": 314, + "end_line": 316, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_global", + "full_name": "", + "start_line": 319, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify", + "full_name": "", + "start_line": 324, + "end_line": 338, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 325, + "end_line": 325, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 327, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 333, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "stats", + "full_name": "", + "start_line": 341, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<_>", + "full_name": "", + "start_line": 342, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ModuleStats", + "full_name": "", + "start_line": 359, + "end_line": 366, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirFunction", + "full_name": "", + "start_line": 368, + "end_line": 397, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 369, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 380, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<_>", + "full_name": "", + "start_line": 385, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 388, + "end_line": 392, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 389, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirModule", + "full_name": "", + "start_line": 399, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 400, + "end_line": 419, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 404, + "end_line": 410, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 406, + "end_line": 408, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 413, + "end_line": 415, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 424, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 425, + "end_line": 425, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_function_creation", + "full_name": "", + "start_line": 428, + "end_line": 442, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 429, + "end_line": 434, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 436, + "end_line": 436, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_module_creation", + "full_name": "", + "start_line": 445, + "end_line": 461, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 446, + "end_line": 446, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 448, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 455, + "end_line": 455, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_value_id_generation", + "full_name": "", + "start_line": 464, + "end_line": 481, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 465, + "end_line": 470, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 472, + "end_line": 472, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 474, + "end_line": 474, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 475, + "end_line": 475, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 476, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_function_stats", + "full_name": "", + "start_line": 484, + "end_line": 499, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 485, + "end_line": 490, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 492, + "end_line": 492, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 493, + "end_line": 493, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 101, + "max_depth": 15, + "node_type_counts": { + "for_loop": 12, + "variable": 30, + "import": 5, + "file_root": 1, + "if_statement": 15, + "function": 27, + "class": 11 + }, + "classes": 11, + "functions": 27, + "methods": 0, + "variables": 30, + "control_structures": 27 + }, + "generated_at": "2025-08-15T16:19:40.619274662Z" + }, + { + "file_info": { + "name": "instruction.rs", + "path": "src/mir/instruction.rs", + "size_bytes": 0, + "total_lines": 793, + "code_lines": 554, + "comment_lines": 127, + "empty_lines": 112, + "code_ratio": 0.6986128625472888, + "analyzed_at": "2025-08-15T16:19:40.674623014Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "MirInstruction", + "parent_class": null, + "start_line": 13, + "end_line": 288, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "ConstValue", + "parent_class": null, + "start_line": 292, + "end_line": 299, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "BinaryOp", + "parent_class": null, + "start_line": 303, + "end_line": 312, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "UnaryOp", + "parent_class": null, + "start_line": 316, + "end_line": 325, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "CompareOp", + "parent_class": null, + "start_line": 329, + "end_line": 331, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "MirType", + "parent_class": null, + "start_line": 335, + "end_line": 345, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "MirInstruction", + "parent_class": null, + "start_line": 347, + "end_line": 524, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ConstValue", + "parent_class": null, + "start_line": 526, + "end_line": 553, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MirInstruction", + "parent_class": null, + "start_line": 555, + "end_line": 608, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "fmt::Display", + "type": "impl" + } + }, + { + "name": "ConstValue", + "parent_class": null, + "start_line": 610, + "end_line": 621, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "effects", + "start_line": 349, + "end_line": 408, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "dst_value", + "start_line": 411, + "end_line": 452, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "used_values", + "start_line": 455, + "end_line": 523, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 480, + "end_line": 480, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 498, + "end_line": 498, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "fmt", + "start_line": 556, + "end_line": 607, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 611, + "end_line": 620, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_const_instruction", + "start_line": 628, + "end_line": 638, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_binop_instruction", + "start_line": 641, + "end_line": 653, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_call_instruction", + "start_line": 656, + "end_line": 672, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_ref_new_instruction", + "start_line": 688, + "end_line": 696, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_ref_get_instruction", + "start_line": 699, + "end_line": 709, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_ref_set_instruction", + "start_line": 712, + "end_line": 722, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_weak_new_instruction", + "start_line": 725, + "end_line": 733, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_weak_load_instruction", + "start_line": 736, + "end_line": 745, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_barrier_instructions", + "start_line": 748, + "end_line": 762, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_extern_call_instruction", + "start_line": 765, + "end_line": 792, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{ValueId, EffectMask, Effect}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 625, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 10, + "function_count": 17, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirInstruction", + "full_name": "", + "start_line": 13, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConstValue", + "full_name": "", + "start_line": 292, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BinaryOp", + "full_name": "", + "start_line": 303, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "UnaryOp", + "full_name": "", + "start_line": 316, + "end_line": 325, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CompareOp", + "full_name": "", + "start_line": 329, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirType", + "full_name": "", + "start_line": 335, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirInstruction", + "full_name": "", + "start_line": 347, + "end_line": 524, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "effects", + "full_name": "", + "start_line": 349, + "end_line": 408, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dst_value", + "full_name": "", + "start_line": 411, + "end_line": 452, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "used_values", + "full_name": "", + "start_line": 455, + "end_line": 523, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 484, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 490, + "end_line": 490, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConstValue", + "full_name": "", + "start_line": 526, + "end_line": 553, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirInstruction", + "full_name": "", + "start_line": 555, + "end_line": 608, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 556, + "end_line": 607, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 577, + "end_line": 585, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 588, + "end_line": 592, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 595, + "end_line": 603, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConstValue", + "full_name": "", + "start_line": 610, + "end_line": 621, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 611, + "end_line": 620, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 625, + "end_line": 625, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_const_instruction", + "full_name": "", + "start_line": 628, + "end_line": 638, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 629, + "end_line": 629, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 630, + "end_line": 633, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_binop_instruction", + "full_name": "", + "start_line": 641, + "end_line": 653, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 642, + "end_line": 642, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 643, + "end_line": 643, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 644, + "end_line": 644, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 646, + "end_line": 648, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_call_instruction", + "full_name": "", + "start_line": 656, + "end_line": 672, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 657, + "end_line": 657, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 658, + "end_line": 658, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 659, + "end_line": 659, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 660, + "end_line": 660, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 662, + "end_line": 667, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ref_new_instruction", + "full_name": "", + "start_line": 688, + "end_line": 696, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 689, + "end_line": 689, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 690, + "end_line": 690, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 691, + "end_line": 691, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ref_get_instruction", + "full_name": "", + "start_line": 699, + "end_line": 709, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 700, + "end_line": 700, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 701, + "end_line": 701, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 702, + "end_line": 702, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 703, + "end_line": 703, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ref_set_instruction", + "full_name": "", + "start_line": 712, + "end_line": 722, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 713, + "end_line": 713, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 714, + "end_line": 714, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 715, + "end_line": 715, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 716, + "end_line": 716, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_new_instruction", + "full_name": "", + "start_line": 725, + "end_line": 733, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 726, + "end_line": 726, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 727, + "end_line": 727, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 728, + "end_line": 728, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_load_instruction", + "full_name": "", + "start_line": 736, + "end_line": 745, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 737, + "end_line": 737, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 738, + "end_line": 738, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 739, + "end_line": 739, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_barrier_instructions", + "full_name": "", + "start_line": 748, + "end_line": 762, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 749, + "end_line": 749, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 751, + "end_line": 751, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 757, + "end_line": 757, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_extern_call_instruction", + "full_name": "", + "start_line": 765, + "end_line": 792, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 766, + "end_line": 766, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 767, + "end_line": 767, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 768, + "end_line": 768, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 769, + "end_line": 775, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 782, + "end_line": 788, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 70, + "max_depth": 11, + "node_type_counts": { + "variable": 38, + "if_statement": 3, + "class": 10, + "file_root": 1, + "import": 3, + "function": 15 + }, + "classes": 10, + "functions": 15, + "methods": 0, + "variables": 38, + "control_structures": 3 + }, + "generated_at": "2025-08-15T16:19:40.674665280Z" + }, + { + "file_info": { + "name": "instruction_v2.rs", + "path": "src/mir/instruction_v2.rs", + "size_bytes": 0, + "total_lines": 543, + "code_lines": 357, + "comment_lines": 98, + "empty_lines": 88, + "code_ratio": 0.6574585635359116, + "analyzed_at": "2025-08-15T16:19:40.619138874Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "MirInstructionV2", + "parent_class": null, + "start_line": 12, + "end_line": 201, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "ConstValue", + "parent_class": null, + "start_line": 205, + "end_line": 212, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "BinaryOp", + "parent_class": null, + "start_line": 216, + "end_line": 225, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "CompareOp", + "parent_class": null, + "start_line": 229, + "end_line": 231, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "AtomicOrdering", + "parent_class": null, + "start_line": 235, + "end_line": 241, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "MirInstructionV2", + "parent_class": null, + "start_line": 243, + "end_line": 459, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MirInstructionV2", + "parent_class": null, + "start_line": 461, + "end_line": 465, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "effects", + "start_line": 245, + "end_line": 295, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "dst_value", + "start_line": 298, + "end_line": 317, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "used_values", + "start_line": 320, + "end_line": 386, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 332, + "end_line": 332, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 342, + "end_line": 342, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "tier", + "start_line": 389, + "end_line": 422, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "description", + "start_line": 425, + "end_line": 458, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 462, + "end_line": 464, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_instruction_count", + "start_line": 473, + "end_line": 481, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_effect_categories", + "start_line": 484, + "end_line": 521, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_ownership_operations", + "start_line": 524, + "end_line": 542, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{ValueId, EffectMask, Effect, BasicBlockId}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 469, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{ValueIdGenerator, BasicBlockIdGenerator}", + "imported_names": [], + "alias": null, + "line_number": 470, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 11, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirInstructionV2", + "full_name": "", + "start_line": 12, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ConstValue", + "full_name": "", + "start_line": 205, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BinaryOp", + "full_name": "", + "start_line": 216, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "CompareOp", + "full_name": "", + "start_line": 229, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "AtomicOrdering", + "full_name": "", + "start_line": 235, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirInstructionV2", + "full_name": "", + "start_line": 243, + "end_line": 459, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "effects", + "full_name": "", + "start_line": 245, + "end_line": 295, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dst_value", + "full_name": "", + "start_line": 298, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "used_values", + "full_name": "", + "start_line": 320, + "end_line": 386, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 352, + "end_line": 352, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 373, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "tier", + "full_name": "", + "start_line": 389, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "description", + "full_name": "", + "start_line": 425, + "end_line": 458, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirInstructionV2", + "full_name": "", + "start_line": 461, + "end_line": 465, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 462, + "end_line": 464, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 469, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 470, + "end_line": 470, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_instruction_count", + "full_name": "", + "start_line": 473, + "end_line": 481, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 476, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 477, + "end_line": 477, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 478, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 479, + "end_line": 479, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_effect_categories", + "full_name": "", + "start_line": 484, + "end_line": 521, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 485, + "end_line": 485, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 486, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 489, + "end_line": 492, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 497, + "end_line": 501, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 506, + "end_line": 509, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 514, + "end_line": 518, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ownership_operations", + "full_name": "", + "start_line": 524, + "end_line": 542, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 525, + "end_line": 525, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 531, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 536, + "end_line": 539, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 37, + "max_depth": 10, + "node_type_counts": { + "class": 7, + "file_root": 1, + "import": 4, + "function": 9, + "variable": 16 + }, + "classes": 7, + "functions": 9, + "methods": 0, + "variables": 16, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.619167942Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/mir/mod.rs", + "size_bytes": 0, + "total_lines": 210, + "code_lines": 163, + "comment_lines": 16, + "empty_lines": 31, + "code_ratio": 0.7761904761904762, + "analyzed_at": "2025-08-15T16:19:40.619389418Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "MirCompileResult", + "parent_class": null, + "start_line": 33, + "end_line": 36, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MirCompiler", + "parent_class": null, + "start_line": 39, + "end_line": 42, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MirCompiler", + "parent_class": null, + "start_line": 44, + "end_line": 71, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MirCompiler", + "parent_class": null, + "start_line": 73, + "end_line": 77, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Default" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 46, + "end_line": 51, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "compile", + "start_line": 54, + "end_line": 65, + "parameters": [ + "&mut self", + "ast" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "dump_mir", + "start_line": 68, + "end_line": 70, + "parameters": [ + "&self", + "module: &MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "default", + "start_line": 74, + "end_line": 76, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_basic_mir_compilation", + "start_line": 85, + "end_line": 100, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_mir_dump", + "start_line": 103, + "end_line": 116, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_throw_compilation", + "start_line": 119, + "end_line": 137, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_loop_compilation", + "start_line": 140, + "end_line": 167, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_try_catch_compilation", + "start_line": 170, + "end_line": 209, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "instruction::{MirInstruction, BinaryOp, CompareOp, UnaryOp, ConstValue, MirType}", + "imported_names": [], + "alias": null, + "line_number": 20, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "instruction_v2::{MirInstructionV2, AtomicOrdering}", + "imported_names": [], + "alias": null, + "line_number": 21, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "basic_block::{BasicBlock, BasicBlockId, BasicBlockIdGenerator}", + "imported_names": [], + "alias": null, + "line_number": 22, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "function::{MirFunction, MirModule, FunctionSignature}", + "imported_names": [], + "alias": null, + "line_number": 23, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "builder::MirBuilder", + "imported_names": [], + "alias": null, + "line_number": 24, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "verification::{MirVerifier, VerificationError}", + "imported_names": [], + "alias": null, + "line_number": 25, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "ownership_verifier_simple::{OwnershipVerifier, OwnershipError, OwnershipStats}", + "imported_names": [], + "alias": null, + "line_number": 26, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "printer::MirPrinter", + "imported_names": [], + "alias": null, + "line_number": 27, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "value_id::{ValueId, LocalId, ValueIdGenerator}", + "imported_names": [], + "alias": null, + "line_number": 28, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "effect::{EffectMask, Effect}", + "imported_names": [], + "alias": null, + "line_number": 29, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 81, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::ast::{ASTNode, LiteralValue}", + "imported_names": [], + "alias": null, + "line_number": 82, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 9, + "import_count": 12, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 21, + "end_line": 21, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 22, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 23, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 24, + "end_line": 24, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 25, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 26, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 27, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 28, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 29, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirCompileResult", + "full_name": "", + "start_line": 33, + "end_line": 36, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirCompiler", + "full_name": "", + "start_line": 39, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirCompiler", + "full_name": "", + "start_line": 44, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 46, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compile", + "full_name": "", + "start_line": 54, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 56, + "end_line": 56, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dump_mir", + "full_name": "", + "start_line": 68, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirCompiler", + "full_name": "", + "start_line": 73, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 74, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_basic_mir_compilation", + "full_name": "", + "start_line": 85, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 89, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 95, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 98, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_mir_dump", + "full_name": "", + "start_line": 103, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 112, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_throw_compilation", + "full_name": "", + "start_line": 119, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 120, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 130, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 133, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_loop_compilation", + "full_name": "", + "start_line": 140, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_try_catch_compilation", + "full_name": "", + "start_line": 170, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 173, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 203, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 51, + "max_depth": 5, + "node_type_counts": { + "function": 9, + "class": 4, + "file_root": 1, + "variable": 25, + "import": 12 + }, + "classes": 4, + "functions": 9, + "methods": 0, + "variables": 25, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.619400943Z" + }, + { + "file_info": { + "name": "ownership_verifier.rs", + "path": "src/mir/ownership_verifier.rs", + "size_bytes": 0, + "total_lines": 559, + "code_lines": 385, + "comment_lines": 81, + "empty_lines": 93, + "code_ratio": 0.6887298747763864, + "analyzed_at": "2025-08-15T16:19:40.619176709Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "OwnershipError", + "parent_class": null, + "start_line": 17, + "end_line": 60, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 63, + "end_line": 78, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 80, + "end_line": 395, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "OwnershipStats", + "parent_class": null, + "start_line": 399, + "end_line": 405, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 407, + "end_line": 411, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Default", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 82, + "end_line": 90, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "verify_module", + "start_line": 93, + "end_line": 107, + "parameters": [ + "&mut self", + "module: &MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "verify_function", + "start_line": 110, + "end_line": 139, + "parameters": [ + "&mut self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "process_instruction", + "start_line": 142, + "end_line": 245, + "parameters": [ + "&mut self", + "instruction: &MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "verify_ownership_forest", + "start_line": 248, + "end_line": 285, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "check_multiple_owners", + "start_line": 288, + "end_line": 300, + "parameters": [ + "&self", + "target: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 291, + "end_line": 291, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 292, + "end_line": 292, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "would_create_cycle", + "start_line": 303, + "end_line": 324, + "parameters": [ + "&self", + "parent: ValueId", + "child: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "find_strong_cycle", + "start_line": 327, + "end_line": 349, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "dfs_cycle", + "start_line": 352, + "end_line": 383, + "parameters": [ + "&self", + "node: ValueId", + "visited: &mut HashSet", + "rec_stack: &mut HashSet", + "path: &mut Vec" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 368, + "end_line": 368, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "ownership_stats", + "start_line": 386, + "end_line": 394, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "default", + "start_line": 408, + "end_line": 410, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_ownership_forest_basic", + "start_line": 419, + "end_line": 435, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_multiple_owners_error", + "start_line": 438, + "end_line": 461, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_strong_cycle_detection", + "start_line": 464, + "end_line": 483, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_weak_reference_safety", + "start_line": 486, + "end_line": 516, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_unsafe_ref_set", + "start_line": 519, + "end_line": 538, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_safe_ref_set_with_release", + "start_line": 541, + "end_line": 558, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{MirInstruction, ValueId, MirFunction, MirModule}", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::{HashMap, HashSet, VecDeque}", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 415, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{ValueIdGenerator, ConstValue}", + "imported_names": [], + "alias": null, + "line_number": 416, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 20, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipError", + "full_name": "", + "start_line": 17, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 63, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 80, + "end_line": 395, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 82, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_module", + "full_name": "", + "start_line": 93, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 97, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 102, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_function", + "full_name": "", + "start_line": 110, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 126, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 130, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "process_instruction", + "full_name": "", + "start_line": 142, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 158, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 171, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 194, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 206, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 220, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 244, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_ownership_forest", + "full_name": "", + "start_line": 248, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 249, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap>", + "full_name": "", + "start_line": 252, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 253, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 257, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 258, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 264, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 269, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 270, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 271, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 280, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "check_multiple_owners", + "full_name": "", + "start_line": 288, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 289, + "end_line": 293, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 295, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "would_create_cycle", + "full_name": "", + "start_line": 303, + "end_line": 324, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 306, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 308, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 309, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 313, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 315, + "end_line": 319, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 318, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "find_strong_cycle", + "full_name": "", + "start_line": 327, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 328, + "end_line": 328, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 329, + "end_line": 329, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 330, + "end_line": 330, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 333, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 334, + "end_line": 337, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 340, + "end_line": 346, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 341, + "end_line": 345, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 342, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dfs_cycle", + "full_name": "", + "start_line": 352, + "end_line": 383, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 364, + "end_line": 378, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 365, + "end_line": 377, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 370, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 368, + "end_line": 368, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 372, + "end_line": 376, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 373, + "end_line": 375, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ownership_stats", + "full_name": "", + "start_line": 386, + "end_line": 394, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipStats", + "full_name": "", + "start_line": 399, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 407, + "end_line": 411, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 408, + "end_line": 410, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 415, + "end_line": 415, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 416, + "end_line": 416, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ownership_forest_basic", + "full_name": "", + "start_line": 419, + "end_line": 435, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 420, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 421, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 423, + "end_line": 423, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 424, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 427, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 433, + "end_line": 433, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_multiple_owners_error", + "full_name": "", + "start_line": 438, + "end_line": 461, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 439, + "end_line": 439, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 440, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 442, + "end_line": 442, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 443, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 444, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 455, + "end_line": 455, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 458, + "end_line": 460, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_strong_cycle_detection", + "full_name": "", + "start_line": 464, + "end_line": 483, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 465, + "end_line": 465, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 466, + "end_line": 466, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 468, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 469, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 470, + "end_line": 470, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 477, + "end_line": 477, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 480, + "end_line": 482, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_reference_safety", + "full_name": "", + "start_line": 486, + "end_line": 516, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 488, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 490, + "end_line": 490, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 491, + "end_line": 491, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 494, + "end_line": 497, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 501, + "end_line": 503, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 507, + "end_line": 510, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 513, + "end_line": 513, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_unsafe_ref_set", + "full_name": "", + "start_line": 519, + "end_line": 538, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 520, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 521, + "end_line": 521, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 523, + "end_line": 523, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 524, + "end_line": 524, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 525, + "end_line": 525, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 531, + "end_line": 531, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 532, + "end_line": 532, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 535, + "end_line": 537, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_safe_ref_set_with_release", + "full_name": "", + "start_line": 541, + "end_line": 558, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 542, + "end_line": 542, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 543, + "end_line": 543, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 545, + "end_line": 545, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 546, + "end_line": 546, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 547, + "end_line": 547, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 556, + "end_line": 556, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 124, + "max_depth": 15, + "node_type_counts": { + "file_root": 1, + "class": 5, + "for_loop": 11, + "if_statement": 34, + "function": 17, + "variable": 52, + "import": 4 + }, + "classes": 5, + "functions": 17, + "methods": 0, + "variables": 52, + "control_structures": 45 + }, + "generated_at": "2025-08-15T16:19:40.619206874Z" + }, + { + "file_info": { + "name": "ownership_verifier_simple.rs", + "path": "src/mir/ownership_verifier_simple.rs", + "size_bytes": 0, + "total_lines": 370, + "code_lines": 259, + "comment_lines": 51, + "empty_lines": 60, + "code_ratio": 0.7, + "analyzed_at": "2025-08-15T16:19:40.620911381Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "OwnershipError", + "parent_class": null, + "start_line": 13, + "end_line": 31, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 34, + "end_line": 49, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 51, + "end_line": 284, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "OwnershipStats", + "parent_class": null, + "start_line": 288, + "end_line": 294, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "OwnershipVerifier", + "parent_class": null, + "start_line": 296, + "end_line": 300, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Default" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 53, + "end_line": 61, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "verify_module", + "start_line": 64, + "end_line": 78, + "parameters": [ + "&mut self", + "module: &MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "verify_function", + "start_line": 81, + "end_line": 110, + "parameters": [ + "&mut self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "process_instruction", + "start_line": 113, + "end_line": 170, + "parameters": [ + "&mut self", + "instruction: &MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "verify_ownership_forest", + "start_line": 173, + "end_line": 198, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "check_multiple_owners", + "start_line": 201, + "end_line": 213, + "parameters": [ + "&self", + "target: ValueId" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 204, + "end_line": 204, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 205, + "end_line": 205, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "find_strong_cycle", + "start_line": 216, + "end_line": 238, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "dfs_cycle", + "start_line": 241, + "end_line": 272, + "parameters": [ + "&self", + "node: ValueId", + "visited: &mut HashSet", + "rec_stack: &mut HashSet", + "path: &mut Vec" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 257, + "end_line": 257, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "ownership_stats", + "start_line": 275, + "end_line": 283, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "default", + "start_line": 297, + "end_line": 299, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_ownership_forest_basic", + "start_line": 308, + "end_line": 328, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_weak_reference_tracking", + "start_line": 331, + "end_line": 349, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_basic_ref_set", + "start_line": 352, + "end_line": 369, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{MirInstruction, ValueId, MirFunction, MirModule}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::{HashMap, HashSet}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 304, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::ValueIdGenerator", + "imported_names": [], + "alias": null, + "line_number": 305, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 16, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipError", + "full_name": "", + "start_line": 13, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 34, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 51, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 53, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_module", + "full_name": "", + "start_line": 64, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 68, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_function", + "full_name": "", + "start_line": 81, + "end_line": 110, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 82, + "end_line": 82, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 105, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "process_instruction", + "full_name": "", + "start_line": 113, + "end_line": 170, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 114, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 126, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 155, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_ownership_forest", + "full_name": "", + "start_line": 173, + "end_line": 198, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "HashMap>", + "full_name": "", + "start_line": 177, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 182, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 191, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "check_multiple_owners", + "full_name": "", + "start_line": 201, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 202, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "find_strong_cycle", + "full_name": "", + "start_line": 216, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 222, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "dfs_cycle", + "full_name": "", + "start_line": 241, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 253, + "end_line": 267, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 254, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 257, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 261, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 262, + "end_line": 264, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "ownership_stats", + "full_name": "", + "start_line": 275, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipStats", + "full_name": "", + "start_line": 288, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OwnershipVerifier", + "full_name": "", + "start_line": 296, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 297, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 304, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_ownership_forest_basic", + "full_name": "", + "start_line": 308, + "end_line": 328, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 309, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 310, + "end_line": 310, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 312, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 313, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 326, + "end_line": 326, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_reference_tracking", + "full_name": "", + "start_line": 331, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 332, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 333, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 335, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 339, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 342, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 347, + "end_line": 347, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_basic_ref_set", + "full_name": "", + "start_line": 352, + "end_line": 369, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 353, + "end_line": 353, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 354, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 356, + "end_line": 356, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 357, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 360, + "end_line": 364, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 82, + "max_depth": 15, + "node_type_counts": { + "import": 4, + "variable": 30, + "if_statement": 21, + "function": 13, + "for_loop": 8, + "class": 5, + "file_root": 1 + }, + "classes": 5, + "functions": 13, + "methods": 0, + "variables": 30, + "control_structures": 29 + }, + "generated_at": "2025-08-15T16:19:40.620933682Z" + }, + { + "file_info": { + "name": "printer.rs", + "path": "src/mir/printer.rs", + "size_bytes": 0, + "total_lines": 441, + "code_lines": 325, + "comment_lines": 34, + "empty_lines": 82, + "code_ratio": 0.7369614512471655, + "analyzed_at": "2025-08-15T16:19:40.665400481Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "MirPrinter", + "parent_class": null, + "start_line": 11, + "end_line": 20, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MirPrinter", + "parent_class": null, + "start_line": 22, + "end_line": 390, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MirPrinter", + "parent_class": null, + "start_line": 392, + "end_line": 396, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Default", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 24, + "end_line": 30, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "verbose", + "start_line": 33, + "end_line": 39, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_verbose", + "start_line": 42, + "end_line": 45, + "parameters": [ + "&mut self", + "verbose: bool" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_show_line_numbers", + "start_line": 48, + "end_line": 51, + "parameters": [ + "&mut self", + "show: bool" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "print_module", + "start_line": 54, + "end_line": 92, + "parameters": [ + "&self", + "module: &MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "print_function", + "start_line": 95, + "end_line": 148, + "parameters": [ + "&self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "print_basic_block", + "start_line": 151, + "end_line": 186, + "parameters": [ + "&self", + "block: &BasicBlock" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 160, + "end_line": 160, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "format_instruction", + "start_line": 189, + "end_line": 374, + "parameters": [ + "&self", + "instruction: &MirInstruction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 217, + "end_line": 217, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 230, + "end_line": 230, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 259, + "end_line": 259, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 267, + "end_line": 267, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 366, + "end_line": 366, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "format_type", + "start_line": 377, + "end_line": 389, + "parameters": [ + "&self", + "mir_type: &super::MirType" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "default", + "start_line": 393, + "end_line": 395, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_empty_module_printing", + "start_line": 404, + "end_line": 412, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_function_printing", + "start_line": 415, + "end_line": 430, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_verbose_printing", + "start_line": 433, + "end_line": 440, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{MirModule, MirFunction, BasicBlock, MirInstruction}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::Write", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 400, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{MirModule, MirFunction, FunctionSignature, MirType, EffectMask, BasicBlockId}", + "imported_names": [], + "alias": null, + "line_number": 401, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 3, + "function_count": 19, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirPrinter", + "full_name": "", + "start_line": 11, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirPrinter", + "full_name": "", + "start_line": 22, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 24, + "end_line": 30, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verbose", + "full_name": "", + "start_line": 33, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_verbose", + "full_name": "", + "start_line": 42, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_show_line_numbers", + "full_name": "", + "start_line": 48, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "print_module", + "full_name": "", + "start_line": 54, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 66, + "end_line": 66, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 79, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 86, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "print_function", + "full_name": "", + "start_line": 95, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 108, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 104, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 112, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 119, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 120, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 126, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<_>", + "full_name": "", + "start_line": 133, + "end_line": 133, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 143, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "print_basic_block", + "full_name": "", + "start_line": 151, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 152, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 158, + "end_line": 163, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 159, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 168, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 170, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 181, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "format_instruction", + "full_name": "", + "start_line": 189, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 216, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 221, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 250, + "end_line": 254, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 258, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 266, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 311, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 366, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 371, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "format_type", + "full_name": "", + "start_line": 377, + "end_line": 389, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirPrinter", + "full_name": "", + "start_line": 392, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 393, + "end_line": 395, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 400, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 401, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_empty_module_printing", + "full_name": "", + "start_line": 404, + "end_line": 412, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 405, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 406, + "end_line": 406, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 408, + "end_line": 408, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_function_printing", + "full_name": "", + "start_line": 415, + "end_line": 430, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 416, + "end_line": 421, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 423, + "end_line": 423, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 424, + "end_line": 424, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 426, + "end_line": 426, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_verbose_printing", + "full_name": "", + "start_line": 433, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 434, + "end_line": 434, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 435, + "end_line": 435, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 66, + "max_depth": 12, + "node_type_counts": { + "file_root": 1, + "class": 3, + "variable": 23, + "function": 13, + "import": 4, + "if_statement": 17, + "for_loop": 5 + }, + "classes": 3, + "functions": 13, + "methods": 0, + "variables": 23, + "control_structures": 22 + }, + "generated_at": "2025-08-15T16:19:40.665425530Z" + }, + { + "file_info": { + "name": "value_id.rs", + "path": "src/mir/value_id.rs", + "size_bytes": 0, + "total_lines": 197, + "code_lines": 136, + "comment_lines": 22, + "empty_lines": 39, + "code_ratio": 0.6903553299492385, + "analyzed_at": "2025-08-15T16:19:40.659667393Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ValueId", + "parent_class": null, + "start_line": 11, + "end_line": 11, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "ValueId", + "parent_class": null, + "start_line": 13, + "end_line": 33, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ValueId", + "parent_class": null, + "start_line": 35, + "end_line": 39, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + }, + { + "name": "LocalId", + "parent_class": null, + "start_line": 43, + "end_line": 43, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "LocalId", + "parent_class": null, + "start_line": 45, + "end_line": 55, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "LocalId", + "parent_class": null, + "start_line": 57, + "end_line": 61, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "fmt::Display" + } + }, + { + "name": "ValueIdGenerator", + "parent_class": null, + "start_line": 65, + "end_line": 67, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "ValueIdGenerator", + "parent_class": null, + "start_line": 69, + "end_line": 91, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "ValueIdGenerator", + "parent_class": null, + "start_line": 93, + "end_line": 97, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Default", + "type": "impl" + } + }, + { + "name": "LocalIdGenerator", + "parent_class": null, + "start_line": 101, + "end_line": 103, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "LocalIdGenerator", + "parent_class": null, + "start_line": 105, + "end_line": 122, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "LocalIdGenerator", + "parent_class": null, + "start_line": 124, + "end_line": 128, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Default" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 15, + "end_line": 17, + "parameters": [ + "id: u32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "as_u32", + "start_line": 20, + "end_line": 22, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "from_usize", + "start_line": 25, + "end_line": 27, + "parameters": [ + "id: usize" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "to_usize", + "start_line": 30, + "end_line": 32, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 36, + "end_line": 38, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 47, + "end_line": 49, + "parameters": [ + "id: u32" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "as_u32", + "start_line": 52, + "end_line": 54, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "fmt", + "start_line": 58, + "end_line": 60, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 71, + "end_line": 73, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "next", + "start_line": 76, + "end_line": 80, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "peek_next", + "start_line": 83, + "end_line": 85, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "reset", + "start_line": 88, + "end_line": 90, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "default", + "start_line": 94, + "end_line": 96, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 107, + "end_line": 109, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "next", + "start_line": 112, + "end_line": 116, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "reset", + "start_line": 119, + "end_line": 121, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "default", + "start_line": 125, + "end_line": 127, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_value_id_creation", + "start_line": 135, + "end_line": 145, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_value_id_generator", + "start_line": 148, + "end_line": 160, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_local_id_creation", + "start_line": 163, + "end_line": 169, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_local_id_generator", + "start_line": 172, + "end_line": 180, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_value_id_ordering", + "start_line": 183, + "end_line": 196, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "std::fmt", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 132, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 12, + "function_count": 22, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ValueId", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ValueId", + "full_name": "", + "start_line": 13, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 15, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_u32", + "full_name": "", + "start_line": 20, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_usize", + "full_name": "", + "start_line": 25, + "end_line": 27, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_usize", + "full_name": "", + "start_line": 30, + "end_line": 32, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ValueId", + "full_name": "", + "start_line": 35, + "end_line": 39, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 36, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "LocalId", + "full_name": "", + "start_line": 43, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "LocalId", + "full_name": "", + "start_line": 45, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 47, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_u32", + "full_name": "", + "start_line": 52, + "end_line": 54, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "LocalId", + "full_name": "", + "start_line": 57, + "end_line": 61, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 58, + "end_line": 60, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ValueIdGenerator", + "full_name": "", + "start_line": 65, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ValueIdGenerator", + "full_name": "", + "start_line": 69, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 71, + "end_line": 73, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "next", + "full_name": "", + "start_line": 76, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 77, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "peek_next", + "full_name": "", + "start_line": 83, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "reset", + "full_name": "", + "start_line": 88, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ValueIdGenerator", + "full_name": "", + "start_line": 93, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 94, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "LocalIdGenerator", + "full_name": "", + "start_line": 101, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "LocalIdGenerator", + "full_name": "", + "start_line": 105, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 107, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "next", + "full_name": "", + "start_line": 112, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 113, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "reset", + "full_name": "", + "start_line": 119, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "LocalIdGenerator", + "full_name": "", + "start_line": 124, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 125, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 132, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_value_id_creation", + "full_name": "", + "start_line": 135, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_value_id_generator", + "full_name": "", + "start_line": 148, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 152, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 153, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_local_id_creation", + "full_name": "", + "start_line": 163, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_local_id_generator", + "full_name": "", + "start_line": 172, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 173, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 175, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 176, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_value_id_ordering", + "full_name": "", + "start_line": 183, + "end_line": 196, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 184, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 186, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 54, + "max_depth": 5, + "node_type_counts": { + "import": 2, + "function": 22, + "class": 12, + "variable": 17, + "file_root": 1 + }, + "classes": 12, + "functions": 22, + "methods": 0, + "variables": 17, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.659677658Z" + }, + { + "file_info": { + "name": "verification.rs", + "path": "src/mir/verification.rs", + "size_bytes": 0, + "total_lines": 337, + "code_lines": 246, + "comment_lines": 46, + "empty_lines": 45, + "code_ratio": 0.7299703264094956, + "analyzed_at": "2025-08-15T16:19:40.663417177Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "VerificationError", + "parent_class": null, + "start_line": 12, + "end_line": 51, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "MirVerifier", + "parent_class": null, + "start_line": 54, + "end_line": 57, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "MirVerifier", + "parent_class": null, + "start_line": 59, + "end_line": 271, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "MirVerifier", + "parent_class": null, + "start_line": 273, + "end_line": 277, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Default" + } + }, + { + "name": "VerificationError", + "parent_class": null, + "start_line": 279, + "end_line": 306, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::fmt::Display", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 61, + "end_line": 65, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "verify_module", + "start_line": 68, + "end_line": 86, + "parameters": [ + "&mut self", + "module: &MirModule" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "verify_function", + "start_line": 89, + "end_line": 112, + "parameters": [ + "&mut self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "verify_ssa_form", + "start_line": 115, + "end_line": 154, + "parameters": [ + "&self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "verify_dominance", + "start_line": 157, + "end_line": 188, + "parameters": [ + "&self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "verify_control_flow", + "start_line": 191, + "end_line": 221, + "parameters": [ + "&self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "compute_reachable_blocks", + "start_line": 224, + "end_line": 260, + "parameters": [ + "&self", + "function: &MirFunction" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "get_errors", + "start_line": 263, + "end_line": 265, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "clear_errors", + "start_line": 268, + "end_line": 270, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "default", + "start_line": 274, + "end_line": 276, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 280, + "end_line": 305, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_valid_function_verification", + "start_line": 314, + "end_line": 329, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_undefined_value_detection", + "start_line": 332, + "end_line": 336, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{MirModule, MirFunction, BasicBlockId, ValueId}", + "imported_names": [], + "alias": null, + "line_number": 7, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::{HashSet, HashMap}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 310, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::mir::{MirFunction, FunctionSignature, MirType, EffectMask, BasicBlock}", + "imported_names": [], + "alias": null, + "line_number": 311, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 5, + "function_count": 13, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 7, + "end_line": 7, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VerificationError", + "full_name": "", + "start_line": 12, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirVerifier", + "full_name": "", + "start_line": 54, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirVerifier", + "full_name": "", + "start_line": 59, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 61, + "end_line": 65, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_module", + "full_name": "", + "start_line": 68, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 79, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 72, + "end_line": 78, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_function", + "full_name": "", + "start_line": 89, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 98, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 103, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 111, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_ssa_form", + "full_name": "", + "start_line": 115, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 116, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 117, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 120, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 137, + "end_line": 145, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 138, + "end_line": 144, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_dominance", + "full_name": "", + "start_line": 157, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 163, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 166, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 168, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 177, + "end_line": 179, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "verify_control_flow", + "full_name": "", + "start_line": 191, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 195, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 197, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 207, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 209, + "end_line": 213, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 216, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "compute_reachable_blocks", + "full_name": "", + "start_line": 224, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 225, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 226, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 228, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 256, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 230, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 233, + "end_line": 235, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 244, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 243, + "start_column": 0, + "end_column": 0, + "depth": 21, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 248, + "end_line": 254, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 253, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 250, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 21, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_errors", + "full_name": "", + "start_line": 263, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clear_errors", + "full_name": "", + "start_line": 268, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MirVerifier", + "full_name": "", + "start_line": 273, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "default", + "full_name": "", + "start_line": 274, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "VerificationError", + "full_name": "", + "start_line": 279, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 280, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 310, + "end_line": 310, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 311, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_valid_function_verification", + "full_name": "", + "start_line": 314, + "end_line": 329, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 315, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 322, + "end_line": 322, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 323, + "end_line": 323, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 325, + "end_line": 325, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 326, + "end_line": 326, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_undefined_value_detection", + "full_name": "", + "start_line": 332, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 77, + "max_depth": 21, + "node_type_counts": { + "class": 5, + "function": 13, + "for_loop": 16, + "file_root": 1, + "import": 4, + "if_statement": 24, + "variable": 14 + }, + "classes": 5, + "functions": 13, + "methods": 0, + "variables": 14, + "control_structures": 40 + }, + "generated_at": "2025-08-15T16:19:40.663438283Z" + }, + { + "file_info": { + "name": "operator_traits.rs", + "path": "src/operator_traits.rs", + "size_bytes": 0, + "total_lines": 144, + "code_lines": 65, + "comment_lines": 51, + "empty_lines": 28, + "code_ratio": 0.4513888888888889, + "analyzed_at": "2025-08-15T16:19:40.664639750Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashAdd", + "parent_class": null, + "start_line": 25, + "end_line": 31, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "trait" + } + }, + { + "name": "NyashSub", + "parent_class": null, + "start_line": 34, + "end_line": 40, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "trait" + } + }, + { + "name": "NyashMul", + "parent_class": null, + "start_line": 43, + "end_line": 49, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "trait", + "modifiers": "pub" + } + }, + { + "name": "NyashDiv", + "parent_class": null, + "start_line": 52, + "end_line": 58, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "trait", + "modifiers": "pub" + } + }, + { + "name": "DynamicAdd", + "parent_class": null, + "start_line": 64, + "end_line": 71, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "trait" + } + }, + { + "name": "DynamicSub", + "parent_class": null, + "start_line": 74, + "end_line": 80, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "trait", + "modifiers": "pub" + } + }, + { + "name": "DynamicMul", + "parent_class": null, + "start_line": 83, + "end_line": 89, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "trait", + "modifiers": "pub" + } + }, + { + "name": "DynamicDiv", + "parent_class": null, + "start_line": 92, + "end_line": 98, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "trait", + "modifiers": "pub" + } + }, + { + "name": "OperatorError", + "parent_class": null, + "start_line": 104, + "end_line": 120, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "OperatorError", + "parent_class": null, + "start_line": 122, + "end_line": 138, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "std::fmt::Display" + } + }, + { + "name": "OperatorError", + "parent_class": null, + "start_line": 140, + "end_line": 140, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "std::error::Error", + "type": "impl" + } + } + ], + "functions": [ + { + "name": "fmt", + "start_line": 123, + "end_line": 137, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::NyashBox", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::Arc", + "imported_names": [], + "alias": null, + "line_number": 16, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 11, + "function_count": 1, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashAdd", + "full_name": "", + "start_line": 25, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashSub", + "full_name": "", + "start_line": 34, + "end_line": 40, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashMul", + "full_name": "", + "start_line": 43, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashDiv", + "full_name": "", + "start_line": 52, + "end_line": 58, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DynamicAdd", + "full_name": "", + "start_line": 64, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DynamicSub", + "full_name": "", + "start_line": 74, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DynamicMul", + "full_name": "", + "start_line": 83, + "end_line": 89, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "DynamicDiv", + "full_name": "", + "start_line": 92, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OperatorError", + "full_name": "", + "start_line": 104, + "end_line": 120, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OperatorError", + "full_name": "", + "start_line": 122, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 123, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "OperatorError", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 15, + "max_depth": 3, + "node_type_counts": { + "import": 2, + "file_root": 1, + "function": 1, + "class": 11 + }, + "classes": 11, + "functions": 1, + "methods": 0, + "variables": 0, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.664649004Z" + }, + { + "file_info": { + "name": "expressions.rs", + "path": "src/parser/expressions.rs", + "size_bytes": 0, + "total_lines": 556, + "code_lines": 442, + "comment_lines": 40, + "empty_lines": 74, + "code_ratio": 0.7949640287769785, + "analyzed_at": "2025-08-15T16:19:40.673599518Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashParser", + "parent_class": null, + "start_line": 44, + "end_line": 556, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "parse_expression", + "start_line": 46, + "end_line": 48, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "parse_or", + "start_line": 51, + "end_line": 67, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_and", + "start_line": 70, + "end_line": 86, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_equality", + "start_line": 89, + "end_line": 109, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_comparison", + "start_line": 112, + "end_line": 137, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_term", + "start_line": 140, + "end_line": 171, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_factor", + "start_line": 174, + "end_line": 195, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_unary", + "start_line": 198, + "end_line": 229, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_call", + "start_line": 232, + "end_line": 312, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_primary", + "start_line": 315, + "end_line": 469, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_from_call", + "start_line": 472, + "end_line": 555, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::tokenizer::TokenType", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::ast::{ASTNode, BinaryOperator, LiteralValue, UnaryOperator, Span}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::{NyashParser, ParseError}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 11, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashParser", + "full_name": "", + "start_line": 44, + "end_line": 556, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_expression", + "full_name": "", + "start_line": 46, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_or", + "full_name": "", + "start_line": 51, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 52, + "end_line": 52, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 54, + "end_line": 64, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 57, + "end_line": 57, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_and", + "full_name": "", + "start_line": 70, + "end_line": 86, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 71, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 74, + "end_line": 74, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 76, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_equality", + "full_name": "", + "start_line": 89, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 90, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 92, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 93, + "end_line": 97, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_comparison", + "full_name": "", + "start_line": 112, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 113, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 115, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 119, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_term", + "full_name": "", + "start_line": 140, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 147, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 158, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 160, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_factor", + "full_name": "", + "start_line": 174, + "end_line": 195, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 175, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 177, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 183, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 185, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_unary", + "full_name": "", + "start_line": 198, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 199, + "end_line": 207, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 201, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 209, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 211, + "end_line": 211, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 221, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_call", + "full_name": "", + "start_line": 232, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 233, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 235, + "end_line": 309, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 236, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 239, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 240, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 243, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 246, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 247, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 259, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 258, + "start_column": 0, + "end_column": 0, + "depth": 21, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 278, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 308, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 287, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 289, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 291, + "end_line": 298, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 295, + "end_line": 297, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_primary", + "full_name": "", + "start_line": 315, + "end_line": 469, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 318, + "end_line": 318, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 327, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 381, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 382, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 386, + "end_line": 414, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 386, + "end_line": 414, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 388, + "end_line": 388, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 390, + "end_line": 408, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 391, + "end_line": 407, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 395, + "end_line": 399, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 401, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 417, + "end_line": 417, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 419, + "end_line": 426, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 423, + "end_line": 425, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 452, + "end_line": 452, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 459, + "end_line": 459, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 465, + "end_line": 465, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_from_call", + "full_name": "", + "start_line": 472, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 476, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 476, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 477, + "end_line": 477, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 481, + "end_line": 481, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 490, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 490, + "end_line": 530, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 497, + "end_line": 497, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 514, + "end_line": 514, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 525, + "end_line": 525, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 534, + "end_line": 534, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 536, + "end_line": 545, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 541, + "end_line": 544, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 95, + "max_depth": 23, + "node_type_counts": { + "variable": 48, + "for_loop": 12, + "if_statement": 19, + "class": 1, + "function": 11, + "file_root": 1, + "import": 3 + }, + "classes": 1, + "functions": 11, + "methods": 0, + "variables": 48, + "control_structures": 31 + }, + "generated_at": "2025-08-15T16:19:40.673636548Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/parser/mod.rs", + "size_bytes": 0, + "total_lines": 1530, + "code_lines": 1158, + "comment_lines": 142, + "empty_lines": 230, + "code_ratio": 0.7568627450980392, + "analyzed_at": "2025-08-15T16:19:40.692040671Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "ParseError", + "parent_class": null, + "start_line": 61, + "end_line": 91, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "NyashParser", + "parent_class": null, + "start_line": 94, + "end_line": 101, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "NyashParser", + "parent_class": null, + "start_line": 103, + "end_line": 1529, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 105, + "end_line": 112, + "parameters": [ + "tokens" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "parse_from_string", + "start_line": 115, + "end_line": 117, + "parameters": [ + "input" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "parse_from_string_with_fuel", + "start_line": 121, + "end_line": 129, + "parameters": [ + "input", + "fuel" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "parse", + "start_line": 132, + "end_line": 134, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "parse_program", + "start_line": 139, + "end_line": 166, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_box_declaration", + "start_line": 170, + "end_line": 681, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_interface_box_declaration", + "start_line": 684, + "end_line": 779, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_global_var", + "start_line": 782, + "end_line": 802, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_function_declaration", + "start_line": 806, + "end_line": 871, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_static_declaration", + "start_line": 874, + "end_line": 890, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_static_function", + "start_line": 893, + "end_line": 976, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_static_box", + "start_line": 979, + "end_line": 1252, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parse_assignment_or_function_call", + "start_line": 1255, + "end_line": 1284, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "current_token", + "start_line": 1291, + "end_line": 1297, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "peek_token", + "start_line": 1300, + "end_line": 1306, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "advance", + "start_line": 1309, + "end_line": 1313, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "skip_newlines", + "start_line": 1316, + "end_line": 1324, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "consume", + "start_line": 1327, + "end_line": 1342, + "parameters": [ + "&mut self", + "expected: TokenType" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "match_token", + "start_line": 1345, + "end_line": 1348, + "parameters": [ + "&self", + "token_type: &TokenType" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "is_at_end", + "start_line": 1351, + "end_line": 1354, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "extract_dependencies_from_statements", + "start_line": 1361, + "end_line": 1369, + "parameters": [ + "&self", + "statements: &[ASTNode]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "extract_dependencies_from_ast", + "start_line": 1372, + "end_line": 1425, + "parameters": [ + "&self", + "node: &ASTNode", + "dependencies: &mut std::collections::HashSet" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "check_circular_dependencies", + "start_line": 1428, + "end_line": 1442, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "has_cycle_dfs", + "start_line": 1445, + "end_line": 1478, + "parameters": [ + "&self", + "current: &str", + "visited: &mut std::collections::HashSet", + "rec_stack: &mut std::collections::HashSet", + "path: &mut Vec" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 1464, + "end_line": 1464, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "validate_override_methods", + "start_line": 1483, + "end_line": 1528, + "parameters": [ + "&self", + "child_name: &str", + "parent_name: &str", + "methods: &HashMap" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::tokenizer::{Token, TokenType, TokenizeError}", + "imported_names": [], + "alias": null, + "line_number": 20, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::ast::{ASTNode, Span}", + "imported_names": [], + "alias": null, + "line_number": 21, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 22, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "thiserror::Error", + "imported_names": [], + "alias": null, + "line_number": 23, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 3, + "function_count": 26, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 20, + "end_line": 20, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 21, + "end_line": 21, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 22, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 23, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "ParseError", + "full_name": "", + "start_line": 61, + "end_line": 91, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashParser", + "full_name": "", + "start_line": 94, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashParser", + "full_name": "", + "start_line": 103, + "end_line": 1529, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 105, + "end_line": 112, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_from_string", + "full_name": "", + "start_line": 115, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_from_string_with_fuel", + "full_name": "", + "start_line": 121, + "end_line": 129, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 122, + "end_line": 122, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 123, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 125, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse", + "full_name": "", + "start_line": 132, + "end_line": 134, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_program", + "full_name": "", + "start_line": 139, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 140, + "end_line": 140, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 159, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_box_declaration", + "full_name": "", + "start_line": 170, + "end_line": 681, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 173, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 173, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 174, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 178, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 187, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 187, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 189, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 191, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 196, + "end_line": 200, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 202, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 221, + "end_line": 221, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 241, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 224, + "end_line": 240, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 228, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 234, + "end_line": 234, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 249, + "end_line": 277, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 252, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 254, + "end_line": 272, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 259, + "end_line": 263, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 265, + "end_line": 265, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 282, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 283, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 284, + "end_line": 284, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 285, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 286, + "end_line": 286, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 288, + "end_line": 654, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 292, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 297, + "end_line": 340, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 302, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 310, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 310, + "end_line": 315, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 317, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 319, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 325, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 331, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 343, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 344, + "end_line": 347, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 350, + "end_line": 653, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 351, + "end_line": 351, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 355, + "end_line": 406, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 368, + "end_line": 379, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 371, + "end_line": 374, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 376, + "end_line": 378, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 384, + "end_line": 384, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 385, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 387, + "end_line": 389, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 394, + "end_line": 401, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 404, + "end_line": 404, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 410, + "end_line": 653, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 411, + "end_line": 411, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 415, + "end_line": 466, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 417, + "end_line": 423, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 427, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 428, + "end_line": 439, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 431, + "end_line": 434, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 436, + "end_line": 438, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 444, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 445, + "end_line": 450, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 447, + "end_line": 449, + "start_column": 0, + "end_column": 0, + "depth": 20, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 454, + "end_line": 461, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 464, + "end_line": 464, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 470, + "end_line": 653, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 471, + "end_line": 471, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 475, + "end_line": 526, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 477, + "end_line": 483, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 488, + "end_line": 499, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 491, + "end_line": 494, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 496, + "end_line": 498, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 504, + "end_line": 504, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 505, + "end_line": 510, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 507, + "end_line": 509, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 514, + "end_line": 521, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 524, + "end_line": 524, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 527, + "end_line": 653, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 528, + "end_line": 528, + "start_column": 0, + "end_column": 0, + "depth": 17, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 532, + "end_line": 646, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 534, + "end_line": 635, + "start_column": 0, + "end_column": 0, + "depth": 21, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 536, + "end_line": 542, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 546, + "end_line": 546, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 547, + "end_line": 558, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 550, + "end_line": 553, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 555, + "end_line": 557, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 563, + "end_line": 563, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 564, + "end_line": 569, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 566, + "end_line": 568, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 573, + "end_line": 580, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 583, + "end_line": 583, + "start_column": 0, + "end_column": 0, + "depth": 23, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 589, + "end_line": 589, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 590, + "end_line": 610, + "start_column": 0, + "end_column": 0, + "depth": 25, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 593, + "end_line": 609, + "start_column": 0, + "end_column": 0, + "depth": 28, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 597, + "end_line": 600, + "start_column": 0, + "end_column": 0, + "depth": 31, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 601, + "end_line": 609, + "start_column": 0, + "end_column": 0, + "depth": 30, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 603, + "end_line": 603, + "start_column": 0, + "end_column": 0, + "depth": 32, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 615, + "end_line": 615, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 616, + "end_line": 621, + "start_column": 0, + "end_column": 0, + "depth": 25, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 618, + "end_line": 620, + "start_column": 0, + "end_column": 0, + "depth": 28, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 625, + "end_line": 632, + "start_column": 0, + "end_column": 0, + "depth": 24, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 638, + "end_line": 644, + "start_column": 0, + "end_column": 0, + "depth": 22, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 650, + "end_line": 650, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 659, + "end_line": 664, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 661, + "end_line": 663, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_interface_box_declaration", + "full_name": "", + "start_line": 684, + "end_line": 779, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 688, + "end_line": 699, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 688, + "end_line": 699, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 689, + "end_line": 689, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 693, + "end_line": 693, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 704, + "end_line": 704, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 706, + "end_line": 760, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 708, + "end_line": 759, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 709, + "end_line": 709, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 713, + "end_line": 751, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 716, + "end_line": 716, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 717, + "end_line": 726, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 718, + "end_line": 721, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 723, + "end_line": 725, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 731, + "end_line": 738, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 745, + "end_line": 745, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 753, + "end_line": 753, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_global_var", + "full_name": "", + "start_line": 782, + "end_line": 802, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 785, + "end_line": 796, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 785, + "end_line": 796, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 786, + "end_line": 786, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 790, + "end_line": 790, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 799, + "end_line": 799, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_function_declaration", + "full_name": "", + "start_line": 806, + "end_line": 871, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 810, + "end_line": 821, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 810, + "end_line": 821, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 811, + "end_line": 811, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 815, + "end_line": 815, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 825, + "end_line": 825, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 827, + "end_line": 845, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 830, + "end_line": 844, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 834, + "end_line": 836, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 837, + "end_line": 844, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 838, + "end_line": 838, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 853, + "end_line": 853, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 854, + "end_line": 859, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 856, + "end_line": 858, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_static_declaration", + "full_name": "", + "start_line": 874, + "end_line": 890, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 882, + "end_line": 882, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_static_function", + "full_name": "", + "start_line": 893, + "end_line": 976, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 897, + "end_line": 926, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 897, + "end_line": 926, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 898, + "end_line": 898, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 902, + "end_line": 916, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 905, + "end_line": 915, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 909, + "end_line": 909, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 920, + "end_line": 920, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 930, + "end_line": 930, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 932, + "end_line": 950, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 935, + "end_line": 949, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 939, + "end_line": 941, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 942, + "end_line": 949, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 943, + "end_line": 943, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 958, + "end_line": 958, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 959, + "end_line": 964, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 961, + "end_line": 963, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_static_box", + "full_name": "", + "start_line": 979, + "end_line": 1252, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 982, + "end_line": 993, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 982, + "end_line": 993, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 983, + "end_line": 983, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 987, + "end_line": 987, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 996, + "end_line": 1024, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 996, + "end_line": 1024, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 998, + "end_line": 998, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1000, + "end_line": 1018, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1001, + "end_line": 1017, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1005, + "end_line": 1009, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1011, + "end_line": 1011, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1027, + "end_line": 1055, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1027, + "end_line": 1055, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1030, + "end_line": 1030, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1032, + "end_line": 1050, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1033, + "end_line": 1049, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1037, + "end_line": 1041, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1043, + "end_line": 1043, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1058, + "end_line": 1086, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1058, + "end_line": 1086, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1061, + "end_line": 1061, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1063, + "end_line": 1081, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1064, + "end_line": 1080, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1068, + "end_line": 1072, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1074, + "end_line": 1074, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1091, + "end_line": 1091, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1092, + "end_line": 1092, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1093, + "end_line": 1093, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1094, + "end_line": 1094, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1095, + "end_line": 1095, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1096, + "end_line": 1096, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1098, + "end_line": 1225, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1102, + "end_line": 1104, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1107, + "end_line": 1122, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1111, + "end_line": 1111, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1112, + "end_line": 1117, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1114, + "end_line": 1116, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1125, + "end_line": 1168, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1130, + "end_line": 1164, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1133, + "end_line": 1135, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1138, + "end_line": 1143, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1138, + "end_line": 1143, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1145, + "end_line": 1163, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1147, + "end_line": 1149, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1153, + "end_line": 1155, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1159, + "end_line": 1159, + "start_column": 0, + "end_column": 0, + "depth": 27, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1170, + "end_line": 1224, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1171, + "end_line": 1171, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1175, + "end_line": 1217, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1179, + "end_line": 1179, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1180, + "end_line": 1189, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1181, + "end_line": 1184, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1186, + "end_line": 1188, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1194, + "end_line": 1194, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1195, + "end_line": 1200, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1197, + "end_line": 1199, + "start_column": 0, + "end_column": 0, + "depth": 18, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1204, + "end_line": 1211, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1230, + "end_line": 1235, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1231, + "end_line": 1231, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_assignment_or_function_call", + "full_name": "", + "start_line": 1255, + "end_line": 1284, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1258, + "end_line": 1258, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1261, + "end_line": 1283, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1263, + "end_line": 1263, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1276, + "end_line": 1276, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "current_token", + "full_name": "", + "start_line": 1291, + "end_line": 1297, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "peek_token", + "full_name": "", + "start_line": 1300, + "end_line": 1306, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1301, + "end_line": 1305, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "advance", + "full_name": "", + "start_line": 1309, + "end_line": 1313, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1310, + "end_line": 1312, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "skip_newlines", + "full_name": "", + "start_line": 1316, + "end_line": 1324, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1317, + "end_line": 1317, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1318, + "end_line": 1321, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1322, + "end_line": 1323, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "consume", + "full_name": "", + "start_line": 1327, + "end_line": 1342, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1329, + "end_line": 1341, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1331, + "end_line": 1331, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1335, + "end_line": 1335, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "match_token", + "full_name": "", + "start_line": 1345, + "end_line": 1348, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_at_end", + "full_name": "", + "start_line": 1351, + "end_line": 1354, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "extract_dependencies_from_statements", + "full_name": "", + "start_line": 1361, + "end_line": 1369, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1362, + "end_line": 1362, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1364, + "end_line": 1366, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "extract_dependencies_from_ast", + "full_name": "", + "start_line": 1372, + "end_line": 1425, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1376, + "end_line": 1378, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1382, + "end_line": 1384, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1399, + "end_line": 1401, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1402, + "end_line": 1406, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1403, + "end_line": 1405, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1410, + "end_line": 1412, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1415, + "end_line": 1417, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "check_circular_dependencies", + "full_name": "", + "start_line": 1428, + "end_line": 1442, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1429, + "end_line": 1429, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1430, + "end_line": 1430, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1431, + "end_line": 1431, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1433, + "end_line": 1439, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1434, + "end_line": 1438, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1435, + "end_line": 1437, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "has_cycle_dfs", + "full_name": "", + "start_line": 1445, + "end_line": 1478, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1456, + "end_line": 1473, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1457, + "end_line": 1472, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1458, + "end_line": 1471, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1459, + "end_line": 1461, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1462, + "end_line": 1471, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1464, + "end_line": 1464, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 1465, + "end_line": 1465, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1466, + "end_line": 1466, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "validate_override_methods", + "full_name": "", + "start_line": 1483, + "end_line": 1528, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1484, + "end_line": 1484, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 1487, + "end_line": 1519, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1488, + "end_line": 1518, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1489, + "end_line": 1517, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 1496, + "end_line": 1499, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1501, + "end_line": 1507, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1510, + "end_line": 1516, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 1522, + "end_line": 1525, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 306, + "max_depth": 32, + "node_type_counts": { + "import": 4, + "class": 3, + "file_root": 1, + "function": 25, + "variable": 118, + "for_loop": 39, + "if_statement": 116 + }, + "classes": 3, + "functions": 25, + "methods": 0, + "variables": 118, + "control_structures": 155 + }, + "generated_at": "2025-08-15T16:19:40.692131742Z" + }, + { + "file_info": { + "name": "statements.rs", + "path": "src/parser/statements.rs", + "size_bytes": 0, + "total_lines": 489, + "code_lines": 376, + "comment_lines": 50, + "empty_lines": 63, + "code_ratio": 0.7689161554192229, + "analyzed_at": "2025-08-15T16:19:40.667537697Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashParser", + "parent_class": null, + "start_line": 12, + "end_line": 489, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "parse_statement", + "start_line": 14, + "end_line": 87, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "parse_if", + "start_line": 90, + "end_line": 138, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "parse_loop", + "start_line": 141, + "end_line": 165, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "parse_break", + "start_line": 168, + "end_line": 171, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "parse_return", + "start_line": 174, + "end_line": 187, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "parse_print", + "start_line": 190, + "end_line": 197, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "parse_nowait", + "start_line": 200, + "end_line": 225, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "parse_include", + "start_line": 228, + "end_line": 245, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "parse_local", + "start_line": 248, + "end_line": 306, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "parse_outbox", + "start_line": 309, + "end_line": 350, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + }, + { + "name": "parse_try_catch", + "start_line": 353, + "end_line": 443, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "parse_throw", + "start_line": 446, + "end_line": 450, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "parse_from_call_statement", + "start_line": 453, + "end_line": 460, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub(super)", + "type": "function" + } + }, + { + "name": "parse_using", + "start_line": 463, + "end_line": 488, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub(super)" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::tokenizer::TokenType", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::ast::{ASTNode, CatchClause, Span}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::{NyashParser, ParseError}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 1, + "function_count": 14, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashParser", + "full_name": "", + "start_line": 12, + "end_line": 489, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_statement", + "full_name": "", + "start_line": 14, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 81, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_if", + "full_name": "", + "start_line": 90, + "end_line": 138, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 94, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 98, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 127, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 113, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 118, + "end_line": 118, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 119, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 123, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_loop", + "full_name": "", + "start_line": 141, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 146, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 151, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 152, + "end_line": 157, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 154, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_break", + "full_name": "", + "start_line": 168, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_return", + "full_name": "", + "start_line": 174, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 178, + "end_line": 184, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_print", + "full_name": "", + "start_line": 190, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_nowait", + "full_name": "", + "start_line": 200, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 204, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 205, + "end_line": 205, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 209, + "end_line": 209, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 218, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_include", + "full_name": "", + "start_line": 228, + "end_line": 245, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 231, + "end_line": 242, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 236, + "end_line": 236, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_local", + "full_name": "", + "start_line": 248, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 252, + "end_line": 252, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 255, + "end_line": 305, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 297, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 275, + "end_line": 290, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 278, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 283, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 19, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 299, + "end_line": 299, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_outbox", + "full_name": "", + "start_line": 309, + "end_line": 350, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 312, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 315, + "end_line": 349, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 320, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 323, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 327, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 336, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 343, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_try_catch", + "full_name": "", + "start_line": 353, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 357, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 358, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 360, + "end_line": 362, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 367, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 370, + "end_line": 416, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 375, + "end_line": 381, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 375, + "end_line": 381, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 376, + "end_line": 376, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 384, + "end_line": 395, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 384, + "end_line": 395, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 385, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 389, + "end_line": 389, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 400, + "end_line": 400, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 401, + "end_line": 406, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 403, + "end_line": 405, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 419, + "end_line": 435, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 419, + "end_line": 435, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 423, + "end_line": 423, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 424, + "end_line": 429, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 426, + "end_line": 428, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_throw", + "full_name": "", + "start_line": 446, + "end_line": 450, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 448, + "end_line": 448, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_from_call_statement", + "full_name": "", + "start_line": 453, + "end_line": 460, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 455, + "end_line": 455, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parse_using", + "full_name": "", + "start_line": 463, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 467, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 468, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 472, + "end_line": 477, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 88, + "max_depth": 19, + "node_type_counts": { + "file_root": 1, + "for_loop": 9, + "import": 3, + "function": 14, + "class": 1, + "variable": 39, + "if_statement": 21 + }, + "classes": 1, + "functions": 14, + "methods": 0, + "variables": 39, + "control_structures": 30 + }, + "generated_at": "2025-08-15T16:19:40.667571110Z" + }, + { + "file_info": { + "name": "runner.rs", + "path": "src/runner.rs", + "size_bytes": 0, + "total_lines": 711, + "code_lines": 548, + "comment_lines": 68, + "empty_lines": 95, + "code_ratio": 0.770745428973277, + "analyzed_at": "2025-08-15T16:19:40.662801328Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashRunner", + "parent_class": null, + "start_line": 21, + "end_line": 23, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "NyashRunner", + "parent_class": null, + "start_line": 25, + "end_line": 459, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 27, + "end_line": 29, + "parameters": [ + "config: CliConfig" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "run", + "start_line": 32, + "end_line": 49, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "execute_file_mode", + "start_line": 52, + "end_line": 76, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_demo_mode", + "start_line": 79, + "end_line": 106, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_nyash_file", + "start_line": 109, + "end_line": 169, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_mir_mode", + "start_line": 172, + "end_line": 227, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_vm_mode", + "start_line": 230, + "end_line": 271, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "execute_wasm_mode", + "start_line": 274, + "end_line": 343, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 315, + "end_line": 321, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_aot_mode", + "start_line": 346, + "end_line": 403, + "parameters": [ + "&self", + "filename: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 385, + "end_line": 391, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "execute_benchmark_mode", + "start_line": 406, + "end_line": 458, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_basic_boxes", + "start_line": 462, + "end_line": 479, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_box_operations", + "start_line": 481, + "end_line": 497, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_box_collections", + "start_line": 499, + "end_line": 505, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_environment_system", + "start_line": 507, + "end_line": 510, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_tokenizer_system", + "start_line": 512, + "end_line": 528, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_parser_system", + "start_line": 530, + "end_line": 632, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "demo_interpreter_system", + "start_line": 634, + "end_line": 686, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_runner_creation", + "start_line": 693, + "end_line": 710, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::cli::CliConfig", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::{\n box_trait::{NyashBox, StringBox, IntegerBox, BoolBox, VoidBox, AddBox, BoxCore},\n tokenizer::{NyashTokenizer},\n ast::ASTNode,\n parser::NyashParser,\n interpreter::NyashInterpreter,\n mir::{MirCompiler, MirPrinter},\n backend::{VM, wasm::WasmBackend, aot::AotBackend},\n}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::{fs, process}", + "imported_names": [], + "alias": null, + "line_number": 18, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::io::Write", + "imported_names": [], + "alias": null, + "line_number": 148, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 690, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 2, + "function_count": 20, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 18, + "end_line": 18, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashRunner", + "full_name": "", + "start_line": 21, + "end_line": 23, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashRunner", + "full_name": "", + "start_line": 25, + "end_line": 459, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 27, + "end_line": 29, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "run", + "full_name": "", + "start_line": 32, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 34, + "end_line": 42, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 44, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_file_mode", + "full_name": "", + "start_line": 52, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 53, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 56, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 62, + "end_line": 75, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 67, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 16, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_demo_mode", + "full_name": "", + "start_line": 79, + "end_line": 106, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_nyash_file", + "full_name": "", + "start_line": 109, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 111, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 127, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 148, + "end_line": 148, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 150, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 156, + "end_line": 156, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_mir_mode", + "full_name": "", + "start_line": 172, + "end_line": 227, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 174, + "end_line": 180, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 183, + "end_line": 189, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 193, + "end_line": 199, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 202, + "end_line": 214, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 210, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 217, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 218, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_vm_mode", + "full_name": "", + "start_line": 230, + "end_line": 271, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 232, + "end_line": 238, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 241, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 250, + "end_line": 250, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 251, + "end_line": 257, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 260, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_wasm_mode", + "full_name": "", + "start_line": 274, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 276, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 285, + "end_line": 291, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 294, + "end_line": 294, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 295, + "end_line": 301, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 304, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 305, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 314, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 322, + "end_line": 322, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 325, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_aot_mode", + "full_name": "", + "start_line": 346, + "end_line": 403, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 357, + "end_line": 363, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 366, + "end_line": 366, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 367, + "end_line": 373, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 376, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 384, + "end_line": 391, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 386, + "end_line": 390, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "execute_benchmark_mode", + "full_name": "", + "start_line": 406, + "end_line": 458, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 410, + "end_line": 416, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 423, + "end_line": 423, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 424, + "end_line": 429, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 425, + "end_line": 428, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 426, + "end_line": 426, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 427, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 430, + "end_line": 430, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 437, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 438, + "end_line": 446, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 439, + "end_line": 445, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 440, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 441, + "end_line": 444, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 442, + "end_line": 442, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 443, + "end_line": 443, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 447, + "end_line": 447, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 453, + "end_line": 453, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_basic_boxes", + "full_name": "", + "start_line": 462, + "end_line": 479, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 466, + "end_line": 466, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 467, + "end_line": 467, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 468, + "end_line": 468, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 469, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_box_operations", + "full_name": "", + "start_line": 481, + "end_line": 497, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 485, + "end_line": 485, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 486, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 487, + "end_line": 487, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 492, + "end_line": 492, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 493, + "end_line": 493, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 494, + "end_line": 494, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_box_collections", + "full_name": "", + "start_line": 499, + "end_line": 505, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_environment_system", + "full_name": "", + "start_line": 507, + "end_line": 510, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_tokenizer_system", + "full_name": "", + "start_line": 512, + "end_line": 528, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 516, + "end_line": 516, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 520, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_parser_system", + "full_name": "", + "start_line": 530, + "end_line": 632, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 535, + "end_line": 543, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 550, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 552, + "end_line": 554, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 562, + "end_line": 567, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 573, + "end_line": 578, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 575, + "end_line": 577, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 585, + "end_line": 588, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 594, + "end_line": 600, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 595, + "end_line": 599, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 596, + "end_line": 598, + "start_column": 0, + "end_column": 0, + "depth": 15, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 607, + "end_line": 618, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 624, + "end_line": 628, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 625, + "end_line": 627, + "start_column": 0, + "end_column": 0, + "depth": 12, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "demo_interpreter_system", + "full_name": "", + "start_line": 634, + "end_line": 686, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 638, + "end_line": 642, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 649, + "end_line": 649, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 663, + "end_line": 667, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 674, + "end_line": 674, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 690, + "end_line": 690, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_runner_creation", + "full_name": "", + "start_line": 693, + "end_line": 710, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 694, + "end_line": 706, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 708, + "end_line": 708, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 117, + "max_depth": 16, + "node_type_counts": { + "class": 2, + "for_loop": 7, + "if_statement": 21, + "file_root": 1, + "variable": 63, + "function": 18, + "import": 5 + }, + "classes": 2, + "functions": 18, + "methods": 0, + "variables": 63, + "control_structures": 28 + }, + "generated_at": "2025-08-15T16:19:40.662844756Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/stdlib/mod.rs", + "size_bytes": 0, + "total_lines": 225, + "code_lines": 152, + "comment_lines": 35, + "empty_lines": 38, + "code_ratio": 0.6755555555555556, + "analyzed_at": "2025-08-15T16:19:40.624546078Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "BuiltinStdlib", + "parent_class": null, + "start_line": 14, + "end_line": 16, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BuiltinNamespace", + "parent_class": null, + "start_line": 19, + "end_line": 22, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "BuiltinStaticBox", + "parent_class": null, + "start_line": 25, + "end_line": 28, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "BuiltinStdlib", + "parent_class": null, + "start_line": 33, + "end_line": 225, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 35, + "end_line": 44, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "register_nyashstd", + "start_line": 47, + "end_line": 69, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "create_string_box", + "start_line": 72, + "end_line": 117, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 79, + "end_line": 95, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 98, + "end_line": 114, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "create_integer_box", + "start_line": 120, + "end_line": 146, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 127, + "end_line": 143, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "create_bool_box", + "start_line": 149, + "end_line": 175, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 156, + "end_line": 172, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "create_array_box", + "start_line": 178, + "end_line": 197, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 185, + "end_line": 194, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "create_console_box", + "start_line": 200, + "end_line": 224, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 207, + "end_line": 221, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, IntegerBox, BoolBox}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::{ArrayBox, ConsoleBox}", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::interpreter::RuntimeError", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::VoidBox", + "imported_names": [], + "alias": null, + "line_number": 219, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 13, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BuiltinStdlib", + "full_name": "", + "start_line": 14, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BuiltinNamespace", + "full_name": "", + "start_line": 19, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BuiltinStaticBox", + "full_name": "", + "start_line": 25, + "end_line": 28, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "BuiltinStdlib", + "full_name": "", + "start_line": 33, + "end_line": 225, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 35, + "end_line": 44, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 36, + "end_line": 38, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_nyashstd", + "full_name": "", + "start_line": 47, + "end_line": 69, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 48, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_string_box", + "full_name": "", + "start_line": 72, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 73, + "end_line": 76, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 80, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 87, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 99, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 106, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 107, + "end_line": 107, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_integer_box", + "full_name": "", + "start_line": 120, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 121, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 132, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 135, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 136, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_bool_box", + "full_name": "", + "start_line": 149, + "end_line": 175, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 150, + "end_line": 153, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 157, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_array_box", + "full_name": "", + "start_line": 178, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 179, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 186, + "end_line": 190, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 192, + "end_line": 192, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_console_box", + "full_name": "", + "start_line": 200, + "end_line": 224, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 201, + "end_line": 204, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 208, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 215, + "end_line": 215, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 219, + "end_line": 219, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 40, + "max_depth": 13, + "node_type_counts": { + "file_root": 1, + "class": 4, + "import": 5, + "function": 7, + "variable": 13, + "if_statement": 10 + }, + "classes": 4, + "functions": 7, + "methods": 0, + "variables": 13, + "control_structures": 10 + }, + "generated_at": "2025-08-15T16:19:40.624561090Z" + }, + { + "file_info": { + "name": "tokenizer.rs", + "path": "src/tokenizer.rs", + "size_bytes": 0, + "total_lines": 634, + "code_lines": 529, + "comment_lines": 40, + "empty_lines": 65, + "code_ratio": 0.8343848580441641, + "analyzed_at": "2025-08-15T16:19:40.619098346Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "TokenType", + "parent_class": null, + "start_line": 12, + "end_line": 87, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "Token", + "parent_class": null, + "start_line": 91, + "end_line": 95, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "Token", + "parent_class": null, + "start_line": 97, + "end_line": 101, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "TokenizeError", + "parent_class": null, + "start_line": 105, + "end_line": 117, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "NyashTokenizer", + "parent_class": null, + "start_line": 120, + "end_line": 125, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "NyashTokenizer", + "parent_class": null, + "start_line": 127, + "end_line": 478, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 98, + "end_line": 100, + "parameters": [ + "token_type: TokenType", + "line: usize", + "column: usize" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new", + "start_line": 129, + "end_line": 137, + "parameters": [ + "input" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "tokenize", + "start_line": 140, + "end_line": 160, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "tokenize_next", + "start_line": 163, + "end_line": 300, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "read_string", + "start_line": 303, + "end_line": 338, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "read_numeric_literal", + "start_line": 341, + "end_line": 372, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 351, + "end_line": 351, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 365, + "end_line": 365, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 370, + "end_line": 370, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "read_keyword_or_identifier", + "start_line": 375, + "end_line": 428, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "skip_line_comment", + "start_line": 431, + "end_line": 438, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "skip_whitespace", + "start_line": 441, + "end_line": 449, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "current_char", + "start_line": 452, + "end_line": 454, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "peek_char", + "start_line": 457, + "end_line": 459, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "advance", + "start_line": 462, + "end_line": 472, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "is_at_end", + "start_line": 475, + "end_line": 477, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_simple_tokens", + "start_line": 487, + "end_line": 499, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_string_literal", + "start_line": 502, + "end_line": 511, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_number_literal", + "start_line": 514, + "end_line": 531, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_identifier", + "start_line": 534, + "end_line": 551, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_operators", + "start_line": 554, + "end_line": 565, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_complex_code", + "start_line": 568, + "end_line": 592, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 586, + "end_line": 586, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_line_numbers", + "start_line": 595, + "end_line": 603, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_comments", + "start_line": 606, + "end_line": 617, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "closure", + "start_line": 615, + "end_line": 615, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "test_error_handling", + "start_line": 620, + "end_line": 633, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "thiserror::Error", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 484, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 6, + "function_count": 27, + "import_count": 2, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TokenType", + "full_name": "", + "start_line": 12, + "end_line": 87, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "Token", + "full_name": "", + "start_line": 91, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "Token", + "full_name": "", + "start_line": 97, + "end_line": 101, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 98, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TokenizeError", + "full_name": "", + "start_line": 105, + "end_line": 117, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashTokenizer", + "full_name": "", + "start_line": 120, + "end_line": 125, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashTokenizer", + "full_name": "", + "start_line": 127, + "end_line": 478, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 129, + "end_line": 137, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 130, + "end_line": 130, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "tokenize", + "full_name": "", + "start_line": 140, + "end_line": 160, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 141, + "end_line": 141, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 143, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 147, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 152, + "end_line": 152, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "tokenize_next", + "full_name": "", + "start_line": 163, + "end_line": 300, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 164, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 165, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 169, + "end_line": 169, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 173, + "end_line": 173, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 177, + "end_line": 177, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read_string", + "full_name": "", + "start_line": 303, + "end_line": 338, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 304, + "end_line": 304, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 307, + "end_line": 307, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 309, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 310, + "end_line": 313, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 316, + "end_line": 332, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read_numeric_literal", + "full_name": "", + "start_line": 341, + "end_line": 372, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 342, + "end_line": 342, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 343, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 344, + "end_line": 344, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 347, + "end_line": 359, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 348, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 351, + "end_line": 358, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 361, + "end_line": 371, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "read_keyword_or_identifier", + "full_name": "", + "start_line": 375, + "end_line": 428, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 376, + "end_line": 376, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 378, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 379, + "end_line": 384, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "skip_line_comment", + "full_name": "", + "start_line": 431, + "end_line": 438, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 432, + "end_line": 437, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 433, + "end_line": 435, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "skip_whitespace", + "full_name": "", + "start_line": 441, + "end_line": 449, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 442, + "end_line": 448, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 443, + "end_line": 447, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "current_char", + "full_name": "", + "start_line": 452, + "end_line": 454, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "peek_char", + "full_name": "", + "start_line": 457, + "end_line": 459, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "advance", + "full_name": "", + "start_line": 462, + "end_line": 472, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 463, + "end_line": 471, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 464, + "end_line": 469, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_at_end", + "full_name": "", + "start_line": 475, + "end_line": 477, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 484, + "end_line": 484, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_simple_tokens", + "full_name": "", + "start_line": 487, + "end_line": 499, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 488, + "end_line": 488, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 489, + "end_line": 489, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_string_literal", + "full_name": "", + "start_line": 502, + "end_line": 511, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 503, + "end_line": 503, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 504, + "end_line": 504, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_number_literal", + "full_name": "", + "start_line": 514, + "end_line": 531, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 515, + "end_line": 515, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 516, + "end_line": 516, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_identifier", + "full_name": "", + "start_line": 534, + "end_line": 551, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 535, + "end_line": 535, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 536, + "end_line": 536, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_operators", + "full_name": "", + "start_line": 554, + "end_line": 565, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 555, + "end_line": 555, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 556, + "end_line": 556, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_complex_code", + "full_name": "", + "start_line": 568, + "end_line": 592, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 569, + "end_line": 580, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 582, + "end_line": 582, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 583, + "end_line": 583, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<_>", + "full_name": "", + "start_line": 586, + "end_line": 586, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_line_numbers", + "full_name": "", + "start_line": 595, + "end_line": 603, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 596, + "end_line": 596, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 597, + "end_line": 597, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 598, + "end_line": 598, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_comments", + "full_name": "", + "start_line": 606, + "end_line": 617, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 607, + "end_line": 609, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 611, + "end_line": 611, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 612, + "end_line": 612, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec<_>", + "full_name": "", + "start_line": 615, + "end_line": 615, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_error_handling", + "full_name": "", + "start_line": 620, + "end_line": 633, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 621, + "end_line": 621, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 622, + "end_line": 622, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 85, + "max_depth": 11, + "node_type_counts": { + "file_root": 1, + "import": 2, + "function": 22, + "variable": 37, + "for_loop": 6, + "if_statement": 11, + "class": 6 + }, + "classes": 6, + "functions": 22, + "methods": 0, + "variables": 37, + "control_structures": 17 + }, + "generated_at": "2025-08-15T16:19:40.619133203Z" + }, + { + "file_info": { + "name": "inprocess.rs", + "path": "src/transport/inprocess.rs", + "size_bytes": 0, + "total_lines": 103, + "code_lines": 71, + "comment_lines": 19, + "empty_lines": 13, + "code_ratio": 0.6893203883495146, + "analyzed_at": "2025-08-15T16:19:40.664097471Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "InProcessTransport", + "parent_class": null, + "start_line": 20, + "end_line": 25, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "InProcessTransport", + "parent_class": null, + "start_line": 27, + "end_line": 51, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "InProcessTransport", + "parent_class": null, + "start_line": 53, + "end_line": 95, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Transport" + } + }, + { + "name": "InProcessTransport", + "parent_class": null, + "start_line": 97, + "end_line": 103, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Drop" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 29, + "end_line": 45, + "parameters": [ + "node_id: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add_handler", + "start_line": 48, + "end_line": 50, + "parameters": [ + "&self", + "intent_name: &str", + "handler: IntentHandler" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "node_id", + "start_line": 54, + "end_line": 56, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "send", + "start_line": 58, + "end_line": 80, + "parameters": [ + "&self", + "to: &str", + "intent: IntentBox", + "_opts: SendOpts" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "on_receive", + "start_line": 82, + "end_line": 85, + "parameters": [ + "&mut self", + "callback" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "is_reachable", + "start_line": 87, + "end_line": 90, + "parameters": [ + "&self", + "node_id: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "transport_type", + "start_line": 92, + "end_line": 94, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "drop", + "start_line": 98, + "end_line": 102, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "super::{Transport, IntentEnvelope, SendOpts, TransportError}", + "imported_names": [], + "alias": null, + "line_number": 14, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::messaging::{MessageBus, MessageBusData, BusEndpoint, SendError, IntentHandler}", + "imported_names": [], + "alias": null, + "line_number": 15, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::IntentBox", + "imported_names": [], + "alias": null, + "line_number": 16, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex}", + "imported_names": [], + "alias": null, + "line_number": 17, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 8, + "import_count": 4, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 14, + "end_line": 14, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 15, + "end_line": 15, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 16, + "end_line": 16, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 17, + "end_line": 17, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "InProcessTransport", + "full_name": "", + "start_line": 20, + "end_line": 25, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "InProcessTransport", + "full_name": "", + "start_line": 27, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 29, + "end_line": 45, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 30, + "end_line": 30, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 31, + "end_line": 31, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 35, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_handler", + "full_name": "", + "start_line": 48, + "end_line": 50, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "InProcessTransport", + "full_name": "", + "start_line": 53, + "end_line": 95, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "node_id", + "full_name": "", + "start_line": 54, + "end_line": 56, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "send", + "full_name": "", + "start_line": 58, + "end_line": 80, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 59, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 64, + "end_line": 72, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 65, + "end_line": 70, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "on_receive", + "full_name": "", + "start_line": 82, + "end_line": 85, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 83, + "end_line": 83, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_reachable", + "full_name": "", + "start_line": 87, + "end_line": 90, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 88, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "transport_type", + "full_name": "", + "start_line": 92, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "InProcessTransport", + "full_name": "", + "start_line": 97, + "end_line": 103, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "drop", + "full_name": "", + "start_line": 98, + "end_line": 102, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 100, + "end_line": 100, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 26, + "max_depth": 13, + "node_type_counts": { + "file_root": 1, + "import": 4, + "class": 4, + "function": 8, + "variable": 8, + "if_statement": 1 + }, + "classes": 4, + "functions": 8, + "methods": 0, + "variables": 8, + "control_structures": 1 + }, + "generated_at": "2025-08-15T16:19:40.664104597Z" + }, + { + "file_info": { + "name": "mod.rs", + "path": "src/transport/mod.rs", + "size_bytes": 0, + "total_lines": 55, + "code_lines": 30, + "comment_lines": 14, + "empty_lines": 11, + "code_ratio": 0.5454545454545454, + "analyzed_at": "2025-08-15T16:19:40.624262818Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "IntentEnvelope", + "parent_class": null, + "start_line": 14, + "end_line": 19, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "SendOpts", + "parent_class": null, + "start_line": 23, + "end_line": 26, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "TransportError", + "parent_class": null, + "start_line": 30, + "end_line": 35, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "enum", + "modifiers": "pub" + } + }, + { + "name": "Transport", + "parent_class": null, + "start_line": 38, + "end_line": 53, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "trait", + "modifiers": "pub" + } + } + ], + "functions": [], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::boxes::IntentBox", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::Arc", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "inprocess::InProcessTransport", + "imported_names": [], + "alias": null, + "line_number": 55, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 4, + "function_count": 0, + "import_count": 3, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "IntentEnvelope", + "full_name": "", + "start_line": 14, + "end_line": 19, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "SendOpts", + "full_name": "", + "start_line": 23, + "end_line": 26, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TransportError", + "full_name": "", + "start_line": 30, + "end_line": 35, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "Transport", + "full_name": "", + "start_line": 38, + "end_line": 53, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 55, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 8, + "max_depth": 1, + "node_type_counts": { + "class": 4, + "file_root": 1, + "import": 3 + }, + "classes": 4, + "functions": 0, + "methods": 0, + "variables": 0, + "control_structures": 0 + }, + "generated_at": "2025-08-15T16:19:40.624266924Z" + }, + { + "file_info": { + "name": "type_box.rs", + "path": "src/type_box.rs", + "size_bytes": 0, + "total_lines": 446, + "code_lines": 307, + "comment_lines": 61, + "empty_lines": 78, + "code_ratio": 0.6883408071748879, + "analyzed_at": "2025-08-15T16:19:40.662734024Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "MethodSignature", + "parent_class": null, + "start_line": 16, + "end_line": 22, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "MethodSignature", + "parent_class": null, + "start_line": 24, + "end_line": 49, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "TypeBox", + "parent_class": null, + "start_line": 53, + "end_line": 77, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "struct" + } + }, + { + "name": "TypeBox", + "parent_class": null, + "start_line": 79, + "end_line": 233, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "TypeBox", + "parent_class": null, + "start_line": 236, + "end_line": 261, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "NyashBox" + } + }, + { + "name": "TypeBox", + "parent_class": null, + "start_line": 263, + "end_line": 283, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "BoxCore", + "type": "impl" + } + }, + { + "name": "TypeBox", + "parent_class": null, + "start_line": 285, + "end_line": 289, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Display", + "type": "impl" + } + }, + { + "name": "TypeRegistry", + "parent_class": null, + "start_line": 293, + "end_line": 303, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "TypeRegistry", + "parent_class": null, + "start_line": 305, + "end_line": 403, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "TypeBoxBuilder", + "parent_class": null, + "start_line": 406, + "end_line": 408, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "struct", + "modifiers": "pub" + } + }, + { + "name": "TypeBoxBuilder", + "parent_class": null, + "start_line": 410, + "end_line": 446, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new", + "start_line": 25, + "end_line": 33, + "parameters": [ + "name: String", + "parameters" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "with_types", + "start_line": 35, + "end_line": 48, + "parameters": [ + "name: String", + "parameters", + "parameter_types", + "return_type" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new", + "start_line": 81, + "end_line": 92, + "parameters": [ + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "builtin", + "start_line": 95, + "end_line": 99, + "parameters": [ + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "add_field", + "start_line": 102, + "end_line": 104, + "parameters": [ + "&mut self", + "name: &str", + "field_type" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "add_method", + "start_line": 107, + "end_line": 109, + "parameters": [ + "&mut self", + "method: MethodSignature" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "set_parent", + "start_line": 112, + "end_line": 114, + "parameters": [ + "&mut self", + "parent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "add_type_parameter", + "start_line": 117, + "end_line": 119, + "parameters": [ + "&mut self", + "param: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "set_concrete_type", + "start_line": 122, + "end_line": 124, + "parameters": [ + "&mut self", + "param: &str", + "concrete_type" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_field_type", + "start_line": 127, + "end_line": 139, + "parameters": [ + "&self", + "field_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "get_method_signature", + "start_line": 142, + "end_line": 154, + "parameters": [ + "&self", + "method_name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_compatible_with", + "start_line": 157, + "end_line": 171, + "parameters": [ + "&self", + "other: &TypeBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_generic", + "start_line": 174, + "end_line": 176, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_concrete_generic", + "start_line": 179, + "end_line": 181, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "full_name", + "start_line": 184, + "end_line": 203, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 192, + "end_line": 196, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 194, + "end_line": 194, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 195, + "end_line": 195, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "void_type", + "start_line": 206, + "end_line": 208, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "string_type", + "start_line": 210, + "end_line": 212, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "integer_type", + "start_line": 214, + "end_line": 216, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "bool_type", + "start_line": 218, + "end_line": 220, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "array_type", + "start_line": 222, + "end_line": 226, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "method_box_type", + "start_line": 228, + "end_line": 232, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "to_string_box", + "start_line": 237, + "end_line": 239, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "equals", + "start_line": 241, + "end_line": 247, + "parameters": [ + "&self", + "other: &dyn NyashBox" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "type_name", + "start_line": 249, + "end_line": 251, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "clone_box", + "start_line": 253, + "end_line": 255, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "share_box", + "start_line": 258, + "end_line": 260, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "box_id", + "start_line": 264, + "end_line": 266, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "parent_type_id", + "start_line": 268, + "end_line": 270, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt_box", + "start_line": 272, + "end_line": 274, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any", + "start_line": 276, + "end_line": 278, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "as_any_mut", + "start_line": 280, + "end_line": 282, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 286, + "end_line": 288, + "parameters": [ + "&self", + "f: &mut std::fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "new", + "start_line": 307, + "end_line": 317, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "register_builtin_types", + "start_line": 320, + "end_line": 327, + "parameters": [ + "&mut self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "register_type", + "start_line": 330, + "end_line": 343, + "parameters": [ + "&mut self", + "type_box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_type", + "start_line": 346, + "end_line": 348, + "parameters": [ + "&self", + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_compatible", + "start_line": 351, + "end_line": 361, + "parameters": [ + "&self", + "from_type: &str", + "to_type: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "get_all_type_names", + "start_line": 364, + "end_line": 366, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "instantiate_generic", + "start_line": 369, + "end_line": 402, + "parameters": [ + "&mut self", + "base_type: &str", + "concrete_types: &[&str]" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 371, + "end_line": 371, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 392, + "end_line": 392, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "new", + "start_line": 412, + "end_line": 416, + "parameters": [ + "name: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "field", + "start_line": 419, + "end_line": 422, + "parameters": [ + "mut self", + "name: &str", + "field_type" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "method", + "start_line": 425, + "end_line": 428, + "parameters": [ + "mut self", + "method: MethodSignature" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "parent", + "start_line": 431, + "end_line": 434, + "parameters": [ + "mut self", + "parent" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "type_param", + "start_line": 437, + "end_line": 440, + "parameters": [ + "mut self", + "param: &str" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "build", + "start_line": 443, + "end_line": 445, + "parameters": [ + "self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "crate::box_trait::{NyashBox, StringBox, BoolBox, BoxCore, BoxBase}", + "imported_names": [], + "alias": null, + "line_number": 8, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 9, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::sync::Arc", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{Debug, Display}", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::any::Any", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 11, + "function_count": 50, + "import_count": 5, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 8, + "end_line": 8, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 9, + "end_line": 9, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MethodSignature", + "full_name": "", + "start_line": 16, + "end_line": 22, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "MethodSignature", + "full_name": "", + "start_line": 24, + "end_line": 49, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 25, + "end_line": 33, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "with_types", + "full_name": "", + "start_line": 35, + "end_line": 48, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TypeBox", + "full_name": "", + "start_line": 53, + "end_line": 77, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TypeBox", + "full_name": "", + "start_line": 79, + "end_line": 233, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 81, + "end_line": 92, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "builtin", + "full_name": "", + "start_line": 95, + "end_line": 99, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 96, + "end_line": 96, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_field", + "full_name": "", + "start_line": 102, + "end_line": 104, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_method", + "full_name": "", + "start_line": 107, + "end_line": 109, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_parent", + "full_name": "", + "start_line": 112, + "end_line": 114, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "add_type_parameter", + "full_name": "", + "start_line": 117, + "end_line": 119, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "set_concrete_type", + "full_name": "", + "start_line": 122, + "end_line": 124, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_field_type", + "full_name": "", + "start_line": 127, + "end_line": 139, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 129, + "end_line": 131, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 134, + "end_line": 136, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_method_signature", + "full_name": "", + "start_line": 142, + "end_line": 154, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 144, + "end_line": 146, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 149, + "end_line": 151, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_compatible_with", + "full_name": "", + "start_line": 157, + "end_line": 171, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 159, + "end_line": 161, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 164, + "end_line": 168, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 165, + "end_line": 167, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_generic", + "full_name": "", + "start_line": 174, + "end_line": 176, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_concrete_generic", + "full_name": "", + "start_line": 179, + "end_line": 181, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "full_name", + "full_name": "", + "start_line": 184, + "end_line": 203, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 185, + "end_line": 202, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 188, + "end_line": 188, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 191, + "end_line": 197, + "start_column": 0, + "end_column": 0, + "depth": 9, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "void_type", + "full_name": "", + "start_line": 206, + "end_line": 208, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "string_type", + "full_name": "", + "start_line": 210, + "end_line": 212, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "integer_type", + "full_name": "", + "start_line": 214, + "end_line": 216, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "bool_type", + "full_name": "", + "start_line": 218, + "end_line": 220, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "array_type", + "full_name": "", + "start_line": 222, + "end_line": 226, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 223, + "end_line": 223, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "method_box_type", + "full_name": "", + "start_line": 228, + "end_line": 232, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 229, + "end_line": 229, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TypeBox", + "full_name": "", + "start_line": 236, + "end_line": 261, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string_box", + "full_name": "", + "start_line": 237, + "end_line": 239, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "equals", + "full_name": "", + "start_line": 241, + "end_line": 247, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 242, + "end_line": 246, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 249, + "end_line": 251, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "clone_box", + "full_name": "", + "start_line": 253, + "end_line": 255, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "share_box", + "full_name": "", + "start_line": 258, + "end_line": 260, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TypeBox", + "full_name": "", + "start_line": 263, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "box_id", + "full_name": "", + "start_line": 264, + "end_line": 266, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent_type_id", + "full_name": "", + "start_line": 268, + "end_line": 270, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt_box", + "full_name": "", + "start_line": 272, + "end_line": 274, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any", + "full_name": "", + "start_line": 276, + "end_line": 278, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "as_any_mut", + "full_name": "", + "start_line": 280, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TypeBox", + "full_name": "", + "start_line": 285, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 286, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TypeRegistry", + "full_name": "", + "start_line": 293, + "end_line": 303, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TypeRegistry", + "full_name": "", + "start_line": 305, + "end_line": 403, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 307, + "end_line": 317, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 308, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_builtin_types", + "full_name": "", + "start_line": 320, + "end_line": 327, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "register_type", + "full_name": "", + "start_line": 330, + "end_line": 343, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 331, + "end_line": 331, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 334, + "end_line": 334, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 335, + "end_line": 335, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 339, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_type", + "full_name": "", + "start_line": 346, + "end_line": 348, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_compatible", + "full_name": "", + "start_line": 351, + "end_line": 361, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 352, + "end_line": 354, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 356, + "end_line": 360, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "get_all_type_names", + "full_name": "", + "start_line": 364, + "end_line": 366, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "instantiate_generic", + "full_name": "", + "start_line": 369, + "end_line": 402, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 370, + "end_line": 371, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 373, + "end_line": 375, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 377, + "end_line": 382, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 385, + "end_line": 385, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "for_loop", + "name": "", + "full_name": "", + "start_line": 390, + "end_line": 394, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 391, + "end_line": 392, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 396, + "end_line": 396, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TypeBoxBuilder", + "full_name": "", + "start_line": 406, + "end_line": 408, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "TypeBoxBuilder", + "full_name": "", + "start_line": 410, + "end_line": 446, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new", + "full_name": "", + "start_line": 412, + "end_line": 416, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "field", + "full_name": "", + "start_line": 419, + "end_line": 422, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "method", + "full_name": "", + "start_line": 425, + "end_line": 428, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "parent", + "full_name": "", + "start_line": 431, + "end_line": 434, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_param", + "full_name": "", + "start_line": 437, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "build", + "full_name": "", + "start_line": 443, + "end_line": 445, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 90, + "max_depth": 9, + "node_type_counts": { + "file_root": 1, + "import": 5, + "function": 45, + "variable": 13, + "for_loop": 2, + "class": 11, + "if_statement": 13 + }, + "classes": 11, + "functions": 45, + "methods": 0, + "variables": 13, + "control_structures": 15 + }, + "generated_at": "2025-08-15T16:19:40.662760778Z" + }, + { + "file_info": { + "name": "value.rs", + "path": "src/value.rs", + "size_bytes": 0, + "total_lines": 575, + "code_lines": 448, + "comment_lines": 57, + "empty_lines": 70, + "code_ratio": 0.7791304347826087, + "analyzed_at": "2025-08-15T16:19:40.623310753Z", + "metadata": {} + }, + "language": "rust", + "classes": [ + { + "name": "NyashValue", + "parent_class": null, + "start_line": 17, + "end_line": 37, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "modifiers": "pub", + "type": "enum" + } + }, + { + "name": "NyashValue", + "parent_class": null, + "start_line": 39, + "end_line": 231, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "NyashValue", + "parent_class": null, + "start_line": 233, + "end_line": 283, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "PartialEq" + } + }, + { + "name": "NyashValue", + "parent_class": null, + "start_line": 285, + "end_line": 289, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl", + "implementing_trait": "Display" + } + }, + { + "name": "NyashValue", + "parent_class": null, + "start_line": 291, + "end_line": 312, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "implementing_trait": "Debug", + "type": "impl" + } + }, + { + "name": "NyashValue", + "parent_class": null, + "start_line": 315, + "end_line": 395, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + }, + { + "name": "NyashValue", + "parent_class": null, + "start_line": 398, + "end_line": 441, + "methods": [], + "properties": [], + "member_variables": [], + "metadata": { + "type": "impl" + } + } + ], + "functions": [ + { + "name": "new_integer", + "start_line": 41, + "end_line": 43, + "parameters": [ + "value: i64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new_float", + "start_line": 45, + "end_line": 47, + "parameters": [ + "value: f64" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new_bool", + "start_line": 49, + "end_line": 51, + "parameters": [ + "value: bool" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new_string", + "start_line": 53, + "end_line": 55, + "parameters": [ + "value: String" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "new_array", + "start_line": 57, + "end_line": 59, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new_map", + "start_line": 61, + "end_line": 63, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new_null", + "start_line": 65, + "end_line": 67, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "new_void", + "start_line": 69, + "end_line": 71, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "to_string", + "start_line": 74, + "end_line": 121, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 83, + "end_line": 83, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "closure", + "start_line": 93, + "end_line": 93, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "to_integer", + "start_line": 124, + "end_line": 135, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 131, + "end_line": 131, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "to_float", + "start_line": 138, + "end_line": 149, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "closure", + "start_line": 145, + "end_line": 145, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "to_bool", + "start_line": 152, + "end_line": 166, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "type_name", + "start_line": 169, + "end_line": 182, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "is_numeric", + "start_line": 185, + "end_line": 187, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_falsy", + "start_line": 190, + "end_line": 193, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "upgrade_weak", + "start_line": 199, + "end_line": 206, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "closure", + "start_line": 202, + "end_line": 202, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "closure" + } + }, + { + "name": "downgrade_to_weak", + "start_line": 210, + "end_line": 217, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_weak_reference", + "start_line": 220, + "end_line": 222, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "is_weak_alive", + "start_line": 225, + "end_line": 230, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "eq", + "start_line": 234, + "end_line": 282, + "parameters": [ + "&self", + "other: &Self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 286, + "end_line": 288, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "fmt", + "start_line": 292, + "end_line": 311, + "parameters": [ + "&self", + "f: &mut fmt::Formatter<'_>" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "from_box", + "start_line": 317, + "end_line": 355, + "parameters": [ + "nyash_box" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "to_box", + "start_line": 358, + "end_line": 394, + "parameters": [ + "&self" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "modifiers": "pub", + "type": "function" + } + }, + { + "name": "create_object", + "start_line": 400, + "end_line": 440, + "parameters": [ + "type_name: &str", + "args" + ], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function", + "modifiers": "pub" + } + }, + { + "name": "test_basic_creation", + "start_line": 448, + "end_line": 458, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_type_conversion", + "start_line": 461, + "end_line": 471, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_cross_type_equality", + "start_line": 474, + "end_line": 480, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_object_creation", + "start_line": 483, + "end_line": 495, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_type_names", + "start_line": 498, + "end_line": 505, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_weak_reference_basic", + "start_line": 508, + "end_line": 525, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_weak_reference_drop", + "start_line": 528, + "end_line": 542, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_weak_reference_equality", + "start_line": 545, + "end_line": 558, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + }, + { + "name": "test_weak_reference_string_representation", + "start_line": 561, + "end_line": 574, + "parameters": [], + "is_async": false, + "is_arrow_function": false, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "metadata": { + "type": "function" + } + } + ], + "imports": [ + { + "type": "rust_use", + "module_path": "std::sync::{Arc, Mutex, Weak}", + "imported_names": [], + "alias": null, + "line_number": 10, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::collections::HashMap", + "imported_names": [], + "alias": null, + "line_number": 11, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "std::fmt::{self, Display, Debug}", + "imported_names": [], + "alias": null, + "line_number": 12, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::NyashBox", + "imported_names": [], + "alias": null, + "line_number": 13, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::{StringBox, IntegerBox, BoolBox, VoidBox}", + "imported_names": [], + "alias": null, + "line_number": 359, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::boxes::null_box::NullBox", + "imported_names": [], + "alias": null, + "line_number": 360, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "super::*", + "imported_names": [], + "alias": null, + "line_number": 445, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::StringBox", + "imported_names": [], + "alias": null, + "line_number": 509, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::StringBox", + "imported_names": [], + "alias": null, + "line_number": 529, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::StringBox", + "imported_names": [], + "alias": null, + "line_number": 546, + "metadata": {} + }, + { + "type": "rust_use", + "module_path": "crate::box_trait::StringBox", + "imported_names": [], + "alias": null, + "line_number": 562, + "metadata": {} + } + ], + "exports": [], + "function_calls": [], + "call_frequency": {}, + "complexity": { + "cyclomatic_complexity": 1, + "max_nesting_depth": 0, + "cognitive_complexity": 0, + "rating": "simple", + "rating_emoji": "🟢" + }, + "commented_lines": [], + "metadata": {}, + "stats": { + "class_count": 7, + "function_count": 39, + "import_count": 11, + "export_count": 0, + "unique_calls": 0, + "total_calls": 0, + "commented_lines_count": 0 + }, + "ast_root": { + "type": "file_root", + "name": "", + "full_name": "", + "start_line": 0, + "end_line": 0, + "start_column": 0, + "end_column": 0, + "depth": 0, + "scope_path": "", + "children": [ + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 10, + "end_line": 10, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 11, + "end_line": 11, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 12, + "end_line": 12, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 13, + "end_line": 13, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashValue", + "full_name": "", + "start_line": 17, + "end_line": 37, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashValue", + "full_name": "", + "start_line": 39, + "end_line": 231, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_integer", + "full_name": "", + "start_line": 41, + "end_line": 43, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_float", + "full_name": "", + "start_line": 45, + "end_line": 47, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_bool", + "full_name": "", + "start_line": 49, + "end_line": 51, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_string", + "full_name": "", + "start_line": 53, + "end_line": 55, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_array", + "full_name": "", + "start_line": 57, + "end_line": 59, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_map", + "full_name": "", + "start_line": 61, + "end_line": 63, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_null", + "full_name": "", + "start_line": 65, + "end_line": 67, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "new_void", + "full_name": "", + "start_line": 69, + "end_line": 71, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_string", + "full_name": "", + "start_line": 74, + "end_line": 121, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 81, + "end_line": 88, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 82, + "end_line": 84, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 91, + "end_line": 98, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "Vec", + "full_name": "", + "start_line": 92, + "end_line": 94, + "start_column": 0, + "end_column": 0, + "depth": 13, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 101, + "end_line": 105, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 108, + "end_line": 116, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 109, + "end_line": 113, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_integer", + "full_name": "", + "start_line": 124, + "end_line": 135, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 128, + "end_line": 128, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_float", + "full_name": "", + "start_line": 138, + "end_line": 149, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 142, + "end_line": 142, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_bool", + "full_name": "", + "start_line": 152, + "end_line": 166, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "type_name", + "full_name": "", + "start_line": 169, + "end_line": 182, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_numeric", + "full_name": "", + "start_line": 185, + "end_line": 187, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_falsy", + "full_name": "", + "start_line": 190, + "end_line": 193, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "upgrade_weak", + "full_name": "", + "start_line": 199, + "end_line": 206, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "downgrade_to_weak", + "full_name": "", + "start_line": 210, + "end_line": 217, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_weak_reference", + "full_name": "", + "start_line": 220, + "end_line": 222, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "is_weak_alive", + "full_name": "", + "start_line": 225, + "end_line": 230, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashValue", + "full_name": "", + "start_line": 233, + "end_line": 283, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "eq", + "full_name": "", + "start_line": 234, + "end_line": 282, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 265, + "end_line": 269, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 272, + "end_line": 276, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashValue", + "full_name": "", + "start_line": 285, + "end_line": 289, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 286, + "end_line": 288, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashValue", + "full_name": "", + "start_line": 291, + "end_line": 312, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "fmt", + "full_name": "", + "start_line": 292, + "end_line": 311, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 302, + "end_line": 306, + "start_column": 0, + "end_column": 0, + "depth": 11, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashValue", + "full_name": "", + "start_line": 315, + "end_line": 395, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "from_box", + "full_name": "", + "start_line": 317, + "end_line": 355, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 319, + "end_line": 351, + "start_column": 0, + "end_column": 0, + "depth": 6, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 320, + "end_line": 320, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 321, + "end_line": 321, + "start_column": 0, + "end_column": 0, + "depth": 8, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 326, + "end_line": 328, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 331, + "end_line": 333, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "if_statement", + "name": "", + "full_name": "", + "start_line": 336, + "end_line": 338, + "start_column": 0, + "end_column": 0, + "depth": 14, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "to_box", + "full_name": "", + "start_line": 358, + "end_line": 394, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 359, + "end_line": 359, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 360, + "end_line": 360, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "class", + "name": "NyashValue", + "full_name": "", + "start_line": 398, + "end_line": 441, + "start_column": 0, + "end_column": 0, + "depth": 1, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "create_object", + "full_name": "", + "start_line": 400, + "end_line": 440, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 403, + "end_line": 406, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 410, + "end_line": 413, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 417, + "end_line": 420, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 424, + "end_line": 427, + "start_column": 0, + "end_column": 0, + "depth": 10, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 445, + "end_line": 445, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_basic_creation", + "full_name": "", + "start_line": 448, + "end_line": 458, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 449, + "end_line": 449, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 450, + "end_line": 450, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 451, + "end_line": 451, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 452, + "end_line": 452, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_type_conversion", + "full_name": "", + "start_line": 461, + "end_line": 471, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 462, + "end_line": 462, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 466, + "end_line": 466, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 469, + "end_line": 469, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_cross_type_equality", + "full_name": "", + "start_line": 474, + "end_line": 480, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 475, + "end_line": 475, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 476, + "end_line": 476, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_object_creation", + "full_name": "", + "start_line": 483, + "end_line": 495, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 484, + "end_line": 486, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 490, + "end_line": 492, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_type_names", + "full_name": "", + "start_line": 498, + "end_line": 505, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_reference_basic", + "full_name": "", + "start_line": 508, + "end_line": 525, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 509, + "end_line": 509, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 512, + "end_line": 512, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 515, + "end_line": 515, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 520, + "end_line": 520, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_reference_drop", + "full_name": "", + "start_line": 528, + "end_line": 542, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 529, + "end_line": 529, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 531, + "end_line": 534, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 532, + "end_line": 532, + "start_column": 0, + "end_column": 0, + "depth": 7, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_reference_equality", + "full_name": "", + "start_line": 545, + "end_line": 558, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 546, + "end_line": 546, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 548, + "end_line": 548, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 549, + "end_line": 549, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 550, + "end_line": 550, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "function", + "name": "test_weak_reference_string_representation", + "full_name": "", + "start_line": 561, + "end_line": 574, + "start_column": 0, + "end_column": 0, + "depth": 3, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "import", + "name": "", + "full_name": "", + "start_line": 562, + "end_line": 562, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 564, + "end_line": 564, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + }, + { + "type": "variable", + "name": "", + "full_name": "", + "start_line": 565, + "end_line": 565, + "start_column": 0, + "end_column": 0, + "depth": 5, + "scope_path": "", + "children": [], + "attributes": {}, + "source_text": null + } + ], + "attributes": {}, + "source_text": null + }, + "ast_statistics": { + "total_nodes": 96, + "max_depth": 14, + "node_type_counts": { + "file_root": 1, + "function": 34, + "if_statement": 14, + "class": 7, + "variable": 29, + "import": 11 + }, + "classes": 7, + "functions": 34, + "methods": 0, + "variables": 29, + "control_structures": 14 + }, + "generated_at": "2025-08-15T16:19:40.623343753Z" + } + ], + "summary": { + "total_files": 106, + "total_lines": 36689, + "total_size": 0, + "large_files": 23, + "complex_files": 0, + "total_classes": 619, + "total_functions": 2189, + "total_complexity": 106, + "average_complexity": 1.0, + "max_complexity": 1, + "most_complex_file": "ast.rs" + }, + "generated_at": "2025-08-15T16:19:40.467057940Z" +} diff --git a/apps/chip8_nyash/chip8_emulator.nyash b/apps/chip8_nyash/chip8_emulator.nyash index 706b3ec7..ca5088a5 100644 --- a/apps/chip8_nyash/chip8_emulator.nyash +++ b/apps/chip8_nyash/chip8_emulator.nyash @@ -1,11 +1,11 @@ // 🎮 Chip-8 Emulator in Nyash - Phase 10.2 -// Testing fini propagation and weak reference lifecycle +// Testing fini propagation and reference lifecycle // Chip8CPU - Central processing unit with fini propagation static box Chip8CPU { init { memory, graphics, sound, program_counter, registers } - pack() { + constructor() { me.program_counter = 512 // 0x200 = 512 decimal - Standard Chip-8 start address me.registers = new ArrayBox() // 16 general registers V0-VF @@ -94,11 +94,11 @@ static box Chip8CPU { } } -// Chip8Memory - Memory system with weak CPU reference +// Chip8Memory - Memory system with CPU reference static box Chip8Memory { - init { ram, weak cpu_ref } // CPU reference is weak to prevent cycles + init { ram, cpu_ref } // CPU reference is to prevent cycles - pack(cpu_instance) { + constructor(cpu_instance) { me.ram = new ArrayBox() // Initialize 4KB of RAM (4096 bytes) @@ -108,14 +108,14 @@ static box Chip8Memory { i = i + 1 } - // Create weak reference to CPU - me.cpu_ref = weak cpu_instance + // Create reference to CPU + me.cpu_ref = cpu_instance - print("💾 Memory initialized: 4KB RAM + weak CPU reference") + print("💾 Memory initialized: 4KB RAM + CPU reference") me.load_test_program() } - // ⭐ Phase 10: weak reference life cycle test + // ⭐ Phase 10: reference life cycle test read_byte(address) { // Check if CPU is still alive before accessing memory if (me.cpu_ref != null) { @@ -169,9 +169,9 @@ static box Chip8Memory { // Chip8Graphics - Display system static box Chip8Graphics { - init { screen, weak cpu_ref } + init { screen, cpu_ref } - pack(cpu_instance) { + constructor(cpu_instance) { me.screen = new ArrayBox() // Initialize 64x32 pixel display (2048 pixels) @@ -181,8 +181,8 @@ static box Chip8Graphics { i = i + 1 } - me.cpu_ref = weak cpu_instance - print("🖼️ Graphics initialized: 64x32 display + weak CPU reference") + me.cpu_ref = cpu_instance + print("🖼️ Graphics initialized: 64x32 display + CPU reference") } draw_sprite(x, y, sprite_data) { @@ -219,12 +219,12 @@ static box Chip8Graphics { // Chip8Sound - Audio system static box Chip8Sound { - init { beep_timer, weak cpu_ref } + init { beep_timer, cpu_ref } - pack(cpu_instance) { + constructor(cpu_instance) { me.beep_timer = 0 - me.cpu_ref = weak cpu_instance - print("🔊 Sound initialized with weak CPU reference") + me.cpu_ref = cpu_instance + print("🔊 Sound initialized with CPU reference") } play_beep() { @@ -261,28 +261,28 @@ static box Chip8System { main() { print("🎮 Starting Chip-8 Emulator - Phase 10.2") - print("Testing fini propagation and weak reference lifecycle") + print("Testing fini propagation and reference lifecycle") // Create CPU first me.cpu = new Chip8CPU() - me.cpu.pack() + me.cpu.constructor() - // Create subsystems with weak references to CPU + // Create subsystems with references to CPU me.memory = new Chip8Memory() - me.memory.pack(me.cpu) + me.memory.constructor(me.cpu) me.graphics = new Chip8Graphics() - me.graphics.pack(me.cpu) + me.graphics.constructor(me.cpu) me.sound = new Chip8Sound() - me.sound.pack(me.cpu) + me.sound.constructor(me.cpu) // Link components to CPU for fini propagation me.cpu.memory = me.memory me.cpu.graphics = me.graphics me.cpu.sound = me.sound - print("🔗 All components linked with weak references") + print("🔗 All components linked with references") // Run a few emulation cycles me.run_emulation() @@ -292,8 +292,8 @@ static box Chip8System { me.cpu.fini() me.cpu = null - // Test weak reference after CPU destruction - print("🧪 Testing weak references after CPU destruction...") + // Test reference after CPU destruction + print("🧪 Testing references after CPU destruction...") me.test_weak_references() return "Chip-8 emulation and memory management test complete" diff --git a/bench_simple.wat b/bench_simple.wat deleted file mode 100644 index 327e3506..00000000 --- a/bench_simple.wat +++ /dev/null @@ -1,21 +0,0 @@ -(module - (func $main (result i32) - (local $x i32) - (local $y i32) - (local $result i32) - - i32.const 10 - local.set $x - - i32.const 20 - local.set $y - - local.get $x - local.get $y - i32.add - local.set $result - - local.get $result - ) - (export "main" (func $main)) -) \ No newline at end of file diff --git a/benchmark_real.sh b/benchmark_real.sh deleted file mode 100644 index 644c0490..00000000 --- a/benchmark_real.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash - -echo "🚀 真のWASM実行性能ベンチマーク" -echo "=================================" - -# 実行回数 -ITERATIONS=100 - -echo "📊 測定回数: $ITERATIONS" -echo - -# 1. インタープリター測定 -echo "1️⃣ インタープリター実行測定" -interpreter_total=0 -for i in $(seq 1 $ITERATIONS); do - start_time=$(date +%s%N) - ./target/release/nyash test_local_vars.nyash >/dev/null 2>&1 - end_time=$(date +%s%N) - duration=$((($end_time - $start_time) / 1000000)) # ms - interpreter_total=$(($interpreter_total + $duration)) -done -interpreter_avg=$(echo "scale=2; $interpreter_total / $ITERATIONS" | bc) -echo " 平均実行時間: ${interpreter_avg} ms" - -# 2. VM測定 -echo "2️⃣ VM実行測定" -vm_total=0 -for i in $(seq 1 $ITERATIONS); do - start_time=$(date +%s%N) - ./target/release/nyash --backend vm test_local_vars.nyash >/dev/null 2>&1 - end_time=$(date +%s%N) - duration=$((($end_time - $start_time) / 1000000)) # ms - vm_total=$(($vm_total + $duration)) -done -vm_avg=$(echo "scale=2; $vm_total / $ITERATIONS" | bc) -echo " 平均実行時間: ${vm_avg} ms" - -# 3. WASM実行測定(wasmtime) -echo "3️⃣ WASM実行測定(wasmtime)" -wasm_total=0 -for i in $(seq 1 $ITERATIONS); do - start_time=$(date +%s%N) - $HOME/.wasmtime/bin/wasmtime run bench_simple.wat --invoke main >/dev/null 2>&1 - end_time=$(date +%s%N) - duration=$((($end_time - $start_time) / 1000000)) # ms - wasm_total=$(($wasm_total + $duration)) -done -wasm_avg=$(echo "scale=2; $wasm_total / $ITERATIONS" | bc) -echo " 平均実行時間: ${wasm_avg} ms" - -# 4. 結果比較 -echo -echo "📈 性能比較結果" -echo "===============" -echo "インタープリター: ${interpreter_avg} ms (1x baseline)" -echo "VM: ${vm_avg} ms" -echo "WASM (wasmtime): ${wasm_avg} ms" - -# 速度比計算 -vm_speedup=$(echo "scale=1; $interpreter_avg / $vm_avg" | bc) -wasm_speedup=$(echo "scale=1; $interpreter_avg / $wasm_avg" | bc) - -echo -echo "🏆 速度向上比較" -echo "VM: ${vm_speedup}x faster" -echo "WASM: ${wasm_speedup}x faster" \ No newline at end of file diff --git a/check_error.sh b/check_error.sh deleted file mode 100644 index 6d5d452d..00000000 --- a/check_error.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -cargo check 2>&1 | grep -B2 -A2 "unresolved import" \ No newline at end of file diff --git a/clean_test.wat b/clean_test.wat deleted file mode 100644 index 5c610488..00000000 --- a/clean_test.wat +++ /dev/null @@ -1,204 +0,0 @@ -(module - (import "env" "print" (func $print (param i32) )) - (memory (export "memory") 1) - (global $heap_ptr (mut i32) (i32.const 2048)) - (func $malloc (param $size i32) (result i32) - (local $ptr i32) - (local $aligned_size i32) - - ;; Align size to 4-byte boundary - local.get $size - i32.const 3 - i32.add - i32.const -4 - i32.and - local.set $aligned_size - - ;; Get current heap pointer - global.get $heap_ptr - local.set $ptr - - ;; Advance heap pointer by aligned size - global.get $heap_ptr - local.get $aligned_size - i32.add - global.set $heap_ptr - - ;; Return allocated pointer - local.get $ptr - ) - (func $box_alloc (param $type_id i32) (param $field_count i32) (result i32) - (local $ptr i32) - (local $total_size i32) - - ;; Calculate total size: header (12) + fields (field_count * 4) - local.get $field_count - i32.const 4 - i32.mul - i32.const 12 - i32.add - local.set $total_size - - ;; Allocate memory - local.get $total_size - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - local.get $type_id - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - local.get $field_count - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_stringbox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 20 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4097 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 2 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_integerbox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 16 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4098 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 1 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_boolbox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 16 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4099 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 1 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_databox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 16 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4101 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 1 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $main (local $0 i32) (local $1 i32) (local $2 i32) - nop - i32.const 10 - local.set $0 - i32.const 20 - local.set $1 - local.get $0 - local.get $1 - i32.add - local.set $2 - local.get $2 - return - ) - (export "main" (func $main)) -) - diff --git a/debug_socketbox.rs b/debug_socketbox.rs deleted file mode 100644 index 15fdbd1d..00000000 --- a/debug_socketbox.rs +++ /dev/null @@ -1,192 +0,0 @@ -// 🔍 デバッグ版SocketBox - 全操作を詳細ログ出力 - -use std::sync::{Arc, Mutex}; -use std::fs::OpenOptions; -use std::io::Write; - -// デバッグログをファイルに出力 -fn debug_log(message: &str) { - let timestamp = std::time::SystemTime::now() - .duration_since(std::time::UNIX_EPOCH) - .unwrap() - .as_millis(); - - let log_message = format!("[{}] {}\n", timestamp, message); - - if let Ok(mut file) = OpenOptions::new() - .create(true) - .append(true) - .open("debug_socketbox.log") - { - let _ = file.write_all(log_message.as_bytes()); - let _ = file.flush(); - } - - // コンソールにも出力 - print!("{}", log_message); -} - -#[derive(Debug)] -pub struct DebugSocketBox { - id: u64, - listener: Arc>>, - is_server: Arc>, -} - -impl DebugSocketBox { - pub fn new() -> Self { - let id = std::time::SystemTime::now() - .duration_since(std::time::UNIX_EPOCH) - .unwrap() - .as_nanos() as u64; - - let instance = Self { - id, - listener: Arc::new(Mutex::new(None)), - is_server: Arc::new(Mutex::new(false)), - }; - - debug_log(&format!("🆕 NEW SocketBox created: id={}, is_server_ptr={:p}", - instance.id, &*instance.is_server)); - - instance - } - - pub fn bind(&self, addr: &str, port: &str) -> bool { - debug_log(&format!("🔗 BIND called on id={}, is_server_ptr={:p}", - self.id, &*self.is_server)); - - let socket_addr = format!("{}:{}", addr, port); - debug_log(&format!("🔗 BIND address: {}", socket_addr)); - - match std::net::TcpListener::bind(&socket_addr) { - Ok(listener) => { - // listener設定 - match self.listener.lock() { - Ok(mut listener_guard) => { - *listener_guard = Some(listener); - debug_log(&format!("✅ BIND listener set successfully on id={}", self.id)); - }, - Err(e) => { - debug_log(&format!("❌ BIND listener lock failed: {:?}", e)); - return false; - } - } - - // is_server=true設定 - debug_log(&format!("🔧 BIND setting is_server=true on id={}, ptr={:p}", - self.id, &*self.is_server)); - - match self.is_server.lock() { - Ok(mut is_server_guard) => { - let old_value = *is_server_guard; - *is_server_guard = true; - debug_log(&format!("✅ BIND is_server changed: {} -> true on id={}", - old_value, self.id)); - }, - Err(e) => { - debug_log(&format!("❌ BIND is_server lock failed: {:?}", e)); - } - } - - debug_log(&format!("🎉 BIND completed successfully on id={}", self.id)); - true - }, - Err(e) => { - debug_log(&format!("❌ BIND failed: {:?}", e)); - false - } - } - } - - pub fn is_server(&self) -> bool { - debug_log(&format!("❓ IS_SERVER called on id={}, ptr={:p}", - self.id, &*self.is_server)); - - match self.is_server.lock() { - Ok(is_server_guard) => { - let value = *is_server_guard; - debug_log(&format!("📖 IS_SERVER result: {} on id={}", value, self.id)); - value - }, - Err(e) => { - debug_log(&format!("❌ IS_SERVER lock failed: {:?}", e)); - false - } - } - } -} - -impl Clone for DebugSocketBox { - fn clone(&self) -> Self { - debug_log(&format!("🔄 CLONE called on id={}", self.id)); - debug_log(&format!("🔄 CLONE original is_server_ptr={:p}", &*self.is_server)); - - let new_id = std::time::SystemTime::now() - .duration_since(std::time::UNIX_EPOCH) - .unwrap() - .as_nanos() as u64; - - let cloned = Self { - id: new_id, // 新しいID - listener: Arc::clone(&self.listener), - is_server: Arc::clone(&self.is_server), // ✅ Arc共有 - }; - - debug_log(&format!("🔄 CLONE created: old_id={} -> new_id={}", self.id, cloned.id)); - debug_log(&format!("🔄 CLONE new is_server_ptr={:p}", &*cloned.is_server)); - debug_log(&format!("🔄 CLONE Arc共有確認: {} == {}", - Arc::as_ptr(&self.is_server) as *const _ as usize, - Arc::as_ptr(&cloned.is_server) as *const _ as usize)); - - cloned - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_debug_socketbox() { - // ログファイルをクリア - std::fs::write("debug_socketbox.log", "").unwrap(); - - debug_log("🚀 === DEBUG TEST START ==="); - - // Step 1: 作成 - let socket = DebugSocketBox::new(); - debug_log(&format!("Step 1 completed: id={}", socket.id)); - - // Step 2: bind実行 - debug_log("🔥 Step 2: BIND execution"); - let bind_result = socket.bind("127.0.0.1", "18080"); - debug_log(&format!("Step 2 completed: bind_result={}", bind_result)); - - // Step 3: 状態確認 - debug_log("🔥 Step 3: Check state after bind"); - let is_server1 = socket.is_server(); - debug_log(&format!("Step 3 completed: is_server={}", is_server1)); - - // Step 4: clone実行 - debug_log("🔥 Step 4: CLONE execution"); - let socket_cloned = socket.clone(); - - // Step 5: clone後の状態確認 - debug_log("🔥 Step 5: Check state after clone"); - let is_server2 = socket_cloned.is_server(); - debug_log(&format!("Step 5 completed: cloned is_server={}", is_server2)); - - // Step 6: 元の状態確認 - debug_log("🔥 Step 6: Check original after clone"); - let is_server3 = socket.is_server(); - debug_log(&format!("Step 6 completed: original is_server={}", is_server3)); - - debug_log("🎉 === DEBUG TEST COMPLETED ==="); - - assert!(bind_result, "bind should succeed"); - assert!(is_server1, "is_server should be true after bind"); - assert!(is_server2, "cloned is_server should be true (shared Arc)"); - assert!(is_server3, "original is_server should still be true"); - } -} \ No newline at end of file diff --git a/debug_test b/debug_test deleted file mode 100644 index 4c22647f..00000000 Binary files a/debug_test and /dev/null differ diff --git a/demo_phase8_4.sh b/demo_phase8_4.sh deleted file mode 100755 index 83e06640..00000000 --- a/demo_phase8_4.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -echo "🚀 Nyash Phase 8.4 AST→MIR Lowering Demonstration" -echo "==================================================" - -echo "" -echo "✅ Test 1: Basic User-Defined Box (Previously Failed)" -echo "------------------------------------------------------" -echo "Code: box DataBox { init { value } }" -echo " local obj = new DataBox(42)" -echo " return obj.value" -echo "" -./target/debug/nyash --dump-mir test_user_defined_box.nyash 2>/dev/null | tail -8 - -echo "" -echo "✅ Test 2: Method Calls (Previously Failed)" -echo "--------------------------------------------" -echo "Code: c.increment() // Method call on user-defined box" -echo "" -./target/debug/nyash --dump-mir test_field_operations.nyash 2>/dev/null | tail -8 - -echo "" -echo "✅ Test 3: Delegation Syntax (Previously Failed)" -echo "-------------------------------------------------" -echo "Code: from Parent.greet() // Delegation call" -echo "" -./target/debug/nyash --dump-mir test_delegation_basic.nyash 2>/dev/null | tail -8 - -echo "" -echo "✅ Test 4: Static Main Compatibility (Preserved)" -echo "------------------------------------------------" -echo "Code: static box Main { main() { return 42 } }" -echo "" -./target/debug/nyash --dump-mir test_static_main_compatibility.nyash 2>/dev/null | tail -6 - -echo "" -echo "🎯 Summary: AST→MIR Lowering for Everything is Box" -echo "==================================================" -echo "• User-defined boxes: ✅ Working" -echo "• Object creation: ✅ Working (RefNew)" -echo "• Field access: ✅ Working (RefGet)" -echo "• Method calls: ✅ Working (BoxCall)" -echo "• Delegation: ✅ Working (from calls)" -echo "• me references: ✅ Working" -echo "• Static Main: ✅ Preserved" -echo "" -echo "🚀 Phase 8.3 WASM Box operations can now be tested!" \ No newline at end of file diff --git a/demo_phase8_5.sh b/demo_phase8_5.sh deleted file mode 100755 index ba100988..00000000 --- a/demo_phase8_5.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash - -# Phase 8.5 MIR 25-Instruction Demo Script - -echo "🚀 Phase 8.5: MIR 25-Instruction Hierarchical Implementation Demo" -echo "=================================================================" -echo "" - -echo "🔧 Building Nyash with Phase 8.5 improvements..." -cd /home/runner/work/nyash/nyash -cargo build --release - -if [ $? -eq 0 ]; then - echo "✅ Build successful!" -else - echo "❌ Build failed!" - exit 1 -fi - -echo "" -echo "🧪 Running Phase 8.5 MIR Tests..." -echo "- Testing 25-instruction specification" -echo "- Testing 4-category effect system" -echo "- Testing ownership forest verification" - -# Run our specific tests -cargo test instruction_v2 --lib -cargo test ownership_verifier_simple --lib - -echo "" -echo "📊 Phase 8.5 Implementation Summary:" -echo "=====================================" -echo "" -echo "✅ Tier-0 Universal Core: 8 instructions implemented" -echo " • Const, BinOp, Compare, Branch, Jump, Phi, Call, Return" -echo "" -echo "✅ Tier-1 Nyash Semantics: 12 instructions implemented" -echo " • NewBox, BoxFieldLoad/Store, BoxCall, Safepoint" -echo " • RefGet/Set, WeakNew/Load/Check, Send, Recv" -echo "" -echo "✅ Tier-2 Implementation Assistance: 5 instructions implemented" -echo " • TailCall, Adopt, Release, MemCopy, AtomicFence" -echo "" -echo "✅ 4-Category Effect System: Pure/Mut/Io/Control" -echo "✅ Ownership Forest Verification: Strong cycle detection + Weak safety" -echo "✅ Total: Exactly 25 MIR instructions as specified" -echo "" -echo "🎯 Revolutionary Achievement: Complete ChatGPT5 + AI Council MIR specification!" -echo " - Mathematically sound ownership forest constraints" -echo " - Effect-driven optimization framework" -echo " - Hierarchical 3-tier instruction architecture" -echo " - Production-ready for JIT/AOT compilation" -echo "" -echo "🚀 Ready for Phase 8.5B: Backend Integration!" - -# Show instruction count verification -echo "" -echo "🔍 Instruction Count Verification:" -echo "=================================" -# This will be shown in the test output above -grep -A 5 -B 5 "Total instruction count must be exactly 25" tests/mir_phase8_5_hierarchical_25_instructions.rs - -echo "" -echo "Demo completed successfully! 🎉" \ No newline at end of file diff --git a/PHASE6_IMPLEMENTATION.md b/docs/archive/PHASE6_IMPLEMENTATION.md similarity index 100% rename from PHASE6_IMPLEMENTATION.md rename to docs/archive/PHASE6_IMPLEMENTATION.md diff --git a/SOCKETBOX_FIX_SUMMARY.md b/docs/archive/SOCKETBOX_FIX_SUMMARY.md similarity index 100% rename from SOCKETBOX_FIX_SUMMARY.md rename to docs/archive/SOCKETBOX_FIX_SUMMARY.md diff --git a/SOCKETBOX_ISSUE_REPRODUCTION.md b/docs/archive/SOCKETBOX_ISSUE_REPRODUCTION.md similarity index 100% rename from SOCKETBOX_ISSUE_REPRODUCTION.md rename to docs/archive/SOCKETBOX_ISSUE_REPRODUCTION.md diff --git a/ai_conference_phase9_jit_design.txt b/docs/archive/ai_conference_phase9_jit_design.txt similarity index 100% rename from ai_conference_phase9_jit_design.txt rename to docs/archive/ai_conference_phase9_jit_design.txt diff --git a/ai_conference_phase9_jit_results.txt b/docs/archive/ai_conference_phase9_jit_results.txt similarity index 100% rename from ai_conference_phase9_jit_results.txt rename to docs/archive/ai_conference_phase9_jit_results.txt diff --git a/ai_consultation_constructor_design_question.txt b/docs/archive/ai_consultation_constructor_design_question.txt similarity index 100% rename from ai_consultation_constructor_design_question.txt rename to docs/archive/ai_consultation_constructor_design_question.txt diff --git a/ai_consultation_override_design_question.txt b/docs/archive/ai_consultation_override_design_question.txt similarity index 100% rename from ai_consultation_override_design_question.txt rename to docs/archive/ai_consultation_override_design_question.txt diff --git a/docs/archive/basic_box_static_consultation.txt b/docs/archive/basic_box_static_consultation.txt new file mode 100644 index 00000000..1652a376 --- /dev/null +++ b/docs/archive/basic_box_static_consultation.txt @@ -0,0 +1,55 @@ +Nyashプログラミング言語の根本的設計哲学について深い相談です。 + +【Everything is Box哲学と実用性の矛盾】 +- Nyashは「Everything is Box」を掲げ、全ての値がBoxオブジェクト +- しかしStringBox等の基本Box型で継承チェーン問題が発生 +- 基本的な機能を使うのに過度な複雑性が要求される + +【現在の問題例】 +box Simple from StringBox { + toString() { + return "Prefix: " + from StringBox.toString() + } +} + +box Complex from Simple { + toString() { + # ❌ エラー: ComplexはStringBoxに直接fromしていない + return "Complex: " + from Simple.toString() # Simple内でStringBoxが呼ばれる + } +} + +【static提供案】 +StringBoxのような基本Box型をstatic methodsとして提供: + +box Simple { + init { content } + toString() { + return "Simple: " + StringBox.toString(me.content) # static呼び出し + } +} + +box Complex from Simple { + toString() { + return "Complex: " + from Simple.toString() # 問題なし + } +} + +【哲学的ジレンマ】 +1. **Everything is Box一貫性**: 全てがBoxであるべき vs 基本型の特別扱い +2. **実用性 vs 純粋性**: 使いやすさ vs 設計哲学の一貫性 +3. **二重体系の懸念**: Box型とstatic関数の併存は混乱を招くか + +【他言語の例】 +- Java: String.valueOf()等のstatic methods + Stringオブジェクト +- Python: str()関数 + strオブジェクト +- Rust: String::new() + インスタンスメソッド + +【具体的質問】 +1. 基本Box型(StringBox, IntegerBox, MathBox等)をstatic提供すべきか? +2. Everything is Box哲学を維持しながら実用性を確保する方法は? +3. Hybrid approach(Box型 + static methods併存)は設計として健全か? +4. 基本的すぎるBox型の「特別扱い」は言語設計として妥当か? +5. 継承チェーン問題を根本解決する他のアプローチは? + +プログラミング言語の設計哲学と実用性のバランスについて、専門的見解をお聞かせください。 \ No newline at end of file diff --git a/benchmark_results_20250814_0713.txt b/docs/archive/build_logs/benchmark_results_20250814_0713.txt similarity index 100% rename from benchmark_results_20250814_0713.txt rename to docs/archive/build_logs/benchmark_results_20250814_0713.txt diff --git a/benchmark_summary_20250814.md b/docs/archive/build_logs/benchmark_summary_20250814.md similarity index 100% rename from benchmark_summary_20250814.md rename to docs/archive/build_logs/benchmark_summary_20250814.md diff --git a/build_error.txt b/docs/archive/build_logs/build_error.txt similarity index 100% rename from build_error.txt rename to docs/archive/build_logs/build_error.txt diff --git a/build_error_output.txt b/docs/archive/build_logs/build_error_output.txt similarity index 100% rename from build_error_output.txt rename to docs/archive/build_logs/build_error_output.txt diff --git a/build_errors.txt b/docs/archive/build_logs/build_errors.txt similarity index 100% rename from build_errors.txt rename to docs/archive/build_logs/build_errors.txt diff --git a/build_log.txt b/docs/archive/build_logs/build_log.txt similarity index 100% rename from build_log.txt rename to docs/archive/build_logs/build_log.txt diff --git a/build_output.txt b/docs/archive/build_logs/build_output.txt similarity index 100% rename from build_output.txt rename to docs/archive/build_logs/build_output.txt diff --git a/check_output.txt b/docs/archive/build_logs/check_output.txt similarity index 100% rename from check_output.txt rename to docs/archive/build_logs/check_output.txt diff --git a/nyashvalue_build_errors.txt b/docs/archive/build_logs/nyashvalue_build_errors.txt similarity index 100% rename from nyashvalue_build_errors.txt rename to docs/archive/build_logs/nyashvalue_build_errors.txt diff --git a/nyashvalue_check_errors.txt b/docs/archive/build_logs/nyashvalue_check_errors.txt similarity index 100% rename from nyashvalue_check_errors.txt rename to docs/archive/build_logs/nyashvalue_check_errors.txt diff --git a/chatgpt5_consultation_weak_architecture_decision.txt b/docs/archive/chatgpt5_consultation_weak_architecture_decision.txt similarity index 100% rename from chatgpt5_consultation_weak_architecture_decision.txt rename to docs/archive/chatgpt5_consultation_weak_architecture_decision.txt diff --git a/gemini_consultation_birth_unified.txt b/docs/archive/gemini_consultation_birth_unified.txt similarity index 100% rename from gemini_consultation_birth_unified.txt rename to docs/archive/gemini_consultation_birth_unified.txt diff --git a/gemini_consultation_clone_box_design.txt b/docs/archive/gemini_consultation_clone_box_design.txt similarity index 100% rename from gemini_consultation_clone_box_design.txt rename to docs/archive/gemini_consultation_clone_box_design.txt diff --git a/docs/archive/gemini_consultation_include_namespace.md b/docs/archive/gemini_consultation_include_namespace.md new file mode 100644 index 00000000..754b640f --- /dev/null +++ b/docs/archive/gemini_consultation_include_namespace.md @@ -0,0 +1,165 @@ +# Nyashプログラミング言語のinclude/namespace/usingシステム設計相談 + +## 🎯 現在の状況 + +### 1. namespace & using設計完了 +IDE補完最優先システム設計済み: +```nyash +# 名前空間定義 +namespace nyashstd { + static box string { + static upper(str) { + return StringBox.upper(str) # 既存実装活用 + } + static lower(str) { ... } + } + static box math { + static sin(x) { ... } + } +} + +# using文での使用 +using nyashstd +string.upper("hello") # 短い&明確 +math.sin(3.14) + +# 完全修飾名(常時利用可能) +nyashstd.string.upper("hello") +``` + +### 2. 既存include実装 +単純なファイル読み込み+実行システム: +```nyash +include "myfile.nyash" # ファイル内容をパース・実行 +``` + +- 重複読み込み防止機能あり +- しかし依存関係管理・名前空間分離なし + +### 3. 新たな課題:統合問題 +includeとnamespace/usingの統合が必要: +- ファイル間依存関係システムが必要 +- 循環依存の検出・防止 +- 読み込み順序の決定アルゴリズム + +## 🚨 技術的課題 + +### A. 依存関係解決の複雑性 +```nyash +# main.nyash +using nyashstd # ← nyashstd.nyashの読み込みが必要 +using mylib # ← mylib.nyashの読み込みが必要 +string.upper("hello") # nyashstdから +mylib.custom() # mylibから +``` + +### B. include vs using の設計統合 +- **include**: 即座にファイル実行(現在の実装) +- **using**: 名前空間のインポートのみ(新設計) +- 両者の統合・共存方法が不明 + +### C. ファイル探索・解決 +- `using nyashstd` → どのファイルを読み込む? +- 標準ライブラリ vs ユーザーライブラリの区別 +- パス解決アルゴリズム + +## 💡 検討中の解決案:nyash.linkファイル方式 + +### 基本アイデア +Cargo.toml/package.json類似の依存関係管理ファイル: + +```toml +# nyash.link (プロジェクトルート) +[dependencies] +nyashstd = "./stdlib/nyashstd.nyash" +mylib = "./libs/mylib.nyash" + +[search_paths] +stdlib = "./stdlib/" +libs = "./libs/" +``` + +### 動作イメージ +1. `using nyashstd` 実行時 +2. nyash.linkを読み取り +3. `"./stdlib/nyashstd.nyash"` を特定 +4. ファイル読み込み・名前空間登録 +5. `string.upper()` が使用可能に + +## 🤔 深く検討してほしい技術的論点 + +### 1. nyash.linkファイル方式の妥当性 +- **実装複雑度**: 依存関係グラフ構築・解決アルゴリズム +- **パフォーマンス**: キャッシュ・遅延読み込みの必要性 +- **他言語比較**: Rust Cargo、Node.js、Python等の実装からの学習 + +### 2. 既存includeとの共存戦略 +**選択肢A**: includeを低レベルAPIとして残す +```nyash +include "config.nyash" # 即座実行(設定ファイル等) +using mylib # 名前空間インポート(ライブラリ) +``` + +**選択肢B**: includeを廃止、usingに統一 +```nyash +using config # 設定も名前空間として扱う +using mylib # ライブラリも名前空間 +``` + +**選択肢C**: includeをusingの内部実装として隠蔽 + +### 3. 段階的実装戦略 +- **最小実装**: 固定パスでのusing実装 +- **中級実装**: nyash.link基本機能 +- **完全実装**: 循環依存検出・パッケージ管理 + +### 4. IDE補完・Language Server連携 +- nyash.linkによる依存関係情報の活用 +- 補完候補の動的生成 +- エラー検出・警告システム + +### 5. 標準ライブラリ管理 +- nyashstdの標準配置場所(相対パス?絶対パス?) +- ユーザーライブラリとの区別方法 +- 将来のパッケージ管理システムへの発展性 + +## 🎯 具体的な質問 + +1. **nyash.linkファイル方式は技術的に健全で実装可能か?** + - 依存関係解決アルゴリズムの実装困難度 + - 他言語での類似実装の成功例・失敗例 + +2. **includeとusingの最適な関係性は?** + - 両方残すべき?統一すべき? + - それぞれの用途・使い分け + +3. **最小実装からの段階的発展戦略は?** + - Phase 1で何を実装すべき? + - 段階的機能追加の優先順位 + +4. **パフォーマンスへの影響は許容範囲内か?** + - ファイル読み込みオーバーヘッド + - 名前解決の計算コスト + +5. **他に考慮すべき設計上の課題はあるか?** + - 見落としている技術的問題 + - より良い代替案の存在 + +## 🌟 Nyashの設計哲学との整合性 + +- **Everything is Box**: 名前空間もBoxとして扱うべき? +- **明示性重視**: 依存関係の明示的記述(nyash.link)は哲学と合致 +- **初心者フレンドリー**: include廃止は学習コストを下げるか? + +## 🔥 期待する回答 + +プログラミング言語設計・実装の専門的視点から: +- nyash.link方式の実現可能性・妥当性評価 +- 実装戦略の具体的提案 +- 潜在的課題の指摘・解決策 +- 他言語実装例からの学習ポイント +- Nyash哲学との整合性確保方法 + +--- + +**深い技術検討をお願いします!🐾** \ No newline at end of file diff --git a/gemini_consultation_weak_final_implementation.txt b/docs/archive/gemini_consultation_weak_final_implementation.txt similarity index 100% rename from gemini_consultation_weak_final_implementation.txt rename to docs/archive/gemini_consultation_weak_final_implementation.txt diff --git a/gemini_question_arc_mutex.txt b/docs/archive/gemini_question_arc_mutex.txt similarity index 100% rename from gemini_question_arc_mutex.txt rename to docs/archive/gemini_question_arc_mutex.txt diff --git a/docs/archive/hybrid_approach_consultation.txt b/docs/archive/hybrid_approach_consultation.txt new file mode 100644 index 00000000..cb5e10c9 --- /dev/null +++ b/docs/archive/hybrid_approach_consultation.txt @@ -0,0 +1,58 @@ +Nyashプログラミング言語のハイブリッドアプローチ設計について相談です。 + +【ハイブリッドアプローチ提案】 +前回の「静的メソッド vs Everything is Box」議論を踏まえ、実用性と哲学を両立する設計を提案します。 + +【核心設計】 +1. **文字列リテラル = 箱化**: "hello" → 自動的にStringBox +2. **名前空間 = static class名**: StringBox.upper()で明示的アクセス +3. **インスタンスメソッド併用**: obj.method()も継続利用可能 +4. **継承は特殊拡張のみ**: 基本操作は名前空間、特殊な拡張のみ継承 +5. **nobox最適化**: パフォーマンス重視時のプリミティブ化 + +【具体例】 +// Everything is Box哲学維持 +local msg = "hello" // 自動StringBox化 + +// 名前空間経由(明示的・継承不要) +local upper = StringBox.upper(msg) // "HELLO" +local len = StringBox.length(msg) // 5 +local result = MathBox.sin(3.14) // 計算 + +// インスタンスメソッド(従来通り) +print(msg.upper()) // "HELLO" +print(msg.length()) // 5 + +// 特殊拡張のみ継承(継承チェーン問題回避) +box LoggedString from StringBox { + init { access_count } + override toString() { + me.access_count++ + return from StringBox.toString() + } +} + +// 将来の最適化 +nobox local fast_str = "hello" // プリミティブ文字列 +local optimized = StringBox.upper(fast_str) // 高速処理 + +【設計の利点】 +1. **Everything is Box維持**: 哲学的一貫性確保 +2. **継承チェーン問題回避**: 基本操作は名前空間で解決 +3. **明示性重視**: StringBox.method()で何をしているか明確 +4. **実用性確保**: いちいち継承しなくても基本操作可能 +5. **段階的最適化**: noboxで性能チューニング可能 + +【懸念点・質問】 +1. **二重API問題**: StringBox.upper() vs obj.upper() の併存は混乱を招くか? +2. **名前空間汚染**: 多数のstatic methodsがBox名前空間を占有する問題は? +3. **学習コスト**: どちらを使うべきかの判断基準をユーザーが覚える負担は? +4. **パフォーマンス**: 自動箱化のオーバーヘッドは許容範囲か? +5. **他言語比較**: このハイブリッド設計は主流言語と比較して自然か? + +【他言語の参考例】 +- Python: str.upper() + "hello".upper() 併存 +- Java: String.valueOf() + obj.toString() 併存 +- JavaScript: String.fromCharCode() + str.charAt() 併存 + +Nyashの哲学(明示性・Everything is Box)を維持しながら、実用的で学習コストの低いハイブリッド設計として成立するか、専門的見解をお聞かせください。 \ No newline at end of file diff --git a/docs/archive/ide_completion_design.txt b/docs/archive/ide_completion_design.txt new file mode 100644 index 00000000..3e627bb6 --- /dev/null +++ b/docs/archive/ide_completion_design.txt @@ -0,0 +1,64 @@ +NyashプログラミングIDE補完機能との相性を考慮した名前空間設計について相談です。 + +【発見した重要な問題】 +プレリュード(自動インポート)は、IDE補完機能との相性が悪い。 + +【具体例】 +// プレリュード方式 +string.upper("hello") // ❌ stringがどこから来たか不明、補完が効かない + +// 明示的名前空間方式 +nyashstd.string.upper("hello") // ✅ ny と打つだけで全候補表示! + +【IDE補完の重要性】 +1. **探索可能性(Discoverability)**: 初心者が「何が使えるか」を発見 +2. **学習曲線**: 補完で関数名・引数を学べる +3. **生産性**: タイプ数削減、タイポ防止 +4. **ドキュメント**: 補完時にドキュメント表示 + +【検討している設計案】 + +案1: nyashstd名前空間(超明示的) +nyashstd.string.upper("hello") +nyashstd.array.push(arr, item) +nyashstd.math.sin(3.14) +// 利点: ny で全部補完、最高の探索可能性 +// 欠点: 毎回長い + +案2: using nyashstd(バランス型) +using nyashstd +string.upper("hello") +array.push(arr, item) +// 利点: 補完も効く、短い +// 欠点: using忘れると動かない + +案3: 階層的アプローチ(段階的) +// レベル1: 完全明示(初心者) +nyashstd.string.upper("hello") + +// レベル2: using(中級者) +using nyashstd +string.upper("hello") + +// レベル3: プレリュード(上級者) +upper("hello") // 最頻出のみ + +案4: エイリアス提供 +// 両方提供 +nyashstd.string.upper // 明示版 +str.upper // 短縮版(プレリュード) + +【VSCode等のIDE対応を考慮した質問】 +1. IDE補完を最優先にすべきか、簡潔性を優先すべきか? +2. nyashstd.* という統一名前空間は良い設計か? +3. 複数の書き方を許可するのは混乱を招くか? +4. 他言語でIDE補完に優しい設計例は? +5. Language Serverとの相性を考慮した最適解は? + +【参考:他言語のアプローチ】 +- Rust: std::string::String (明示的、補完◎) +- Go: strings.ToUpper() (パッケージ明示、補完◎) +- Python: str.upper() (組み込み、補完△) +- JavaScript: "".toUpperCase() (プロトタイプ、補完○) + +モダンなIDE連携を前提とした、初心者にも優しい名前空間設計をご提案ください。 \ No newline at end of file diff --git a/issue_phase951.md b/docs/archive/issue_phase951.md similarity index 100% rename from issue_phase951.md rename to docs/archive/issue_phase951.md diff --git a/mir_25_instruction_mapping.md b/docs/archive/mir_25_instruction_mapping.md similarity index 100% rename from mir_25_instruction_mapping.md rename to docs/archive/mir_25_instruction_mapping.md diff --git a/docs/archive/modern_dependency_consultation.txt b/docs/archive/modern_dependency_consultation.txt new file mode 100644 index 00000000..26ca5dcb --- /dev/null +++ b/docs/archive/modern_dependency_consultation.txt @@ -0,0 +1,59 @@ +現代的プログラミング言語の依存関係システムについて深い相談です。 + +【#include地獄からの脱却】 +C/C++の#includeシステムの問題: +- 循環参照が頻発 +- Makefileが複雑すぎる +- 重複インクルード問題 +- 依存関係の把握が困難 + +【現代言語の革新的解決策調査】 +Rust: Cargo.toml + use文 +Go: go.mod + import文 +TypeScript: package.json + import/export +Python: pyproject.toml + import文 +C#: .csproj + using文 + +【共通する革新ポイント】 +1. パッケージマネージャー統合 +2. 明示的依存宣言ファイル +3. モジュール/パッケージ単位管理 +4. ビルドツール統合 +5. 循環依存の静的検出 + +【Nyash独自アプローチ提案:nyash.link】 +# nyash.link - 依存管理専用ファイル +project: + name: "my-app" + version: "1.0.0" + +dependencies: + nyashstd: "builtin" + nyash-http: "^2.1.0" + "./utils": "local" + +modules: + main: [] + utils: ["data"] + data: [] + # 循環依存自動検出・エラー + +build: + target: "wasm" + optimize: true + +【設計哲学の問い】 +1. #includeを完全に捨てて、宣言的依存管理にすべきか? +2. nyash.linkのような専用ファイルは過剰か、必要か? +3. 循環依存を言語レベルで禁止すべきか? +4. パッケージマネージャーとビルドシステムの統合度は? +5. 既存言語と差別化できる革新的な仕組みは? + +【技術的課題】 +- 依存解決アルゴリズムの効率性 +- バージョン管理との統合 +- IDE/Language Serverとの連携 +- インクリメンタルビルドとの相性 +- WebAssemblyターゲットでの最適化 + +現代のソフトウェア開発における依存関係管理のベストプラクティスと、Nyash言語に最適な革新的依存システムをご提案ください。 \ No newline at end of file diff --git a/docs/archive/multi_delegation_consultation.txt b/docs/archive/multi_delegation_consultation.txt new file mode 100644 index 00000000..a3195c0b --- /dev/null +++ b/docs/archive/multi_delegation_consultation.txt @@ -0,0 +1,38 @@ +Nyashプログラミング言語の多重デリゲーション設計について深い相談です。 + +【現在の状況】 +- Everything is Box哲学でデリゲーション優先設計 +- 明示性重視(何が起きているかを隠さない) +- 単一デリゲーション(box Child from Parent)は完全実装済み + +【多重デリゲーション候補】 +box MultiChild from ParentA, ParentB { + method() { + from ParentA.methodA() + from ParentB.methodB() + } +} + +【Diamond Problem(菱形継承問題)】 +box Middle from StringBox { ... } +box Diamond from Middle, StringBox { + toString() { + local a = from Middle.toString() # Middle内でStringBox.toString()呼び出し + local b = from StringBox.toString() # 直接StringBox.toString()呼び出し + # 同じStringBoxに2回アクセス→状態変更重複・パフォーマンス問題 + } +} + +【解決策候補】 +1. **上書き方式**: 後から指定した方を優先(from Middle, StringBox → StringBoxが優先) +2. **明示的解決**: 曖昧性をコンパイル時エラーにして、ユーザーに解決を強制 +3. **完全禁止**: 多重デリゲーション自体を禁止、コンポジション推奨 + +【質問】 +1. Nyash明示性哲学に最も適した解決策は? +2. 上書き方式は「明示性」に反するか? +3. Diamond Problemを根本的に避ける設計は? +4. 実用性vs安全性のバランスをどう取るべき? +5. 他言語(Go, Rust, Kotlin等)の参考になる設計は? + +プログラミング言語設計の専門的視点から、Nyashの哲学に最適な多重デリゲーション設計を分析してください。 \ No newline at end of file diff --git a/docs/archive/namespace_binding_consultation.txt b/docs/archive/namespace_binding_consultation.txt new file mode 100644 index 00000000..0612afb1 --- /dev/null +++ b/docs/archive/namespace_binding_consultation.txt @@ -0,0 +1,75 @@ +Nyashプログラミング言語の名前空間結びつけ設計について深い相談です。 + +【前提】 +ハイブリッドアプローチ(文字列リテラル箱化 + 静的メソッド)を採用予定。 +static class string{}, static class math{} が存在する状況での名前空間設計。 + +【現在の課題】 +- namespace string, namespace math は明示的だが記述が煩雑 +- namespace nyash と書いて、nyashとstring/mathを結びつけたい +- 明示性と簡潔性の完璧なバランスを求める + +【検討中の設計パターン】 + +Pattern 1: namespace集約 + imports +namespace nyash imports string, math { + // この中では直接アクセス可能 + local msg = string.upper("hello") + local result = math.sin(3.14) + print(msg) // nyash組み込み関数 +} + +Pattern 2: static class nyash階層 +static class nyash { + static class string { + upper(str) { ... } + length(str) { ... } + } + static class math { + sin(x) { ... } + cos(x) { ... } + } +} +// 使用: nyash.string.upper("hello") + +Pattern 3: static class nyash直接定義 +static class nyash { + string_upper(str) { ... } + math_sin(x) { ... } + print(msg) { ... } +} +// 使用: nyash.string_upper("hello") + +Pattern 4: using システム +using nyash.string as string +using nyash.math as math +// その後: string.upper("hello") + +【Nyash設計哲学との整合性】 +1. Everything is Box: 全てがBoxオブジェクト +2. 明示性重視: 何が起きているかを隠さない +3. 初心者フレンドリー: 学習コストの低減 +4. 実用性確保: 日常的な使いやすさ + +【重要な検討点】 +1. **明示性 vs 簡潔性**: どこまで簡潔にしても明示性を保てるか? +2. **スコープ管理**: namespace内での名前衝突回避方法は? +3. **階層 vs フラット**: nyash.string.upper vs nyash.string_upper どちらが自然? +4. **学習コスト**: ユーザーが覚えるべきルールの複雑さは? +5. **IDE支援**: 補完・ナビゲーション機能との相性は? + +【他言語の参考例】 +- Python: from math import sin, cos +- JavaScript: import { upper } from 'string-utils' +- C#: using System; using System.Math; +- Rust: use std::collections::HashMap; +- Go: import "math", import "strings" + +【質問】 +1. Nyash哲学に最も適した名前空間結びつけ方法は? +2. namespace nyash概念の技術的実装可能性は? +3. 明示性を保ちながら最も簡潔な記述方法は? +4. static class階層 vs namespace imports どちらが優れているか? +5. 初心者にとって最も理解しやすい設計は? + +プログラミング言語の名前空間設計の専門的視点から、Nyashに最適な解決策をご提案ください。 \ No newline at end of file diff --git a/nyash_file_refactoring_issue.md b/docs/archive/nyash_file_refactoring_issue.md similarity index 100% rename from nyash_file_refactoring_issue.md rename to docs/archive/nyash_file_refactoring_issue.md diff --git a/refactoring_completion_issue.md b/docs/archive/refactoring_completion_issue.md similarity index 100% rename from refactoring_completion_issue.md rename to docs/archive/refactoring_completion_issue.md diff --git a/rust_ownership_question.txt b/docs/archive/rust_ownership_question.txt similarity index 100% rename from rust_ownership_question.txt rename to docs/archive/rust_ownership_question.txt diff --git a/socketbox_deadlock_issue.md b/docs/archive/socketbox_deadlock_issue.md similarity index 100% rename from socketbox_deadlock_issue.md rename to docs/archive/socketbox_deadlock_issue.md diff --git a/socketbox_issue_new.md b/docs/archive/socketbox_issue_new.md similarity index 100% rename from socketbox_issue_new.md rename to docs/archive/socketbox_issue_new.md diff --git a/socketbox_state_separation_issue.md b/docs/archive/socketbox_state_separation_issue.md similarity index 100% rename from socketbox_state_separation_issue.md rename to docs/archive/socketbox_state_separation_issue.md diff --git a/weak_reference_architecture_consultation.txt b/docs/archive/weak_reference_architecture_consultation.txt similarity index 100% rename from weak_reference_architecture_consultation.txt rename to docs/archive/weak_reference_architecture_consultation.txt diff --git a/docs/予定/native-plan/archive/chatgptネイティブビルド大作戦.txt b/docs/予定/native-plan/archives/chatgptネイティブビルド大作戦.txt similarity index 100% rename from docs/予定/native-plan/archive/chatgptネイティブビルド大作戦.txt rename to docs/予定/native-plan/archives/chatgptネイティブビルド大作戦.txt diff --git a/docs/予定/native-plan/archive/追記相談.txt b/docs/予定/native-plan/archives/追記相談.txt similarity index 100% rename from docs/予定/native-plan/archive/追記相談.txt rename to docs/予定/native-plan/archives/追記相談.txt diff --git a/docs/予定/native-plan/issues/phase_9_75e_namespace_using_system.md b/docs/予定/native-plan/issues/phase_9_75e_namespace_using_system.md new file mode 100644 index 00000000..17286a84 --- /dev/null +++ b/docs/予定/native-plan/issues/phase_9_75e_namespace_using_system.md @@ -0,0 +1,281 @@ +# Phase 9.75e: namespace & using システム実装 + +## 🎯 背景・目的 + +IDE補完機能との相性を最優先にした、現代的な名前空間・インポートシステムの実装。 + +### 問題意識 +- プレリュード方式:IDE補完が効かない、探索可能性が低い +- 全機能明示:冗長、タイプ数が多い +- 理想:`ny` と打つだけで全標準機能が補完される + +### 目標 +```nyash +# IDE補完完璧 +nyashstd.string.upper("hello") # ny → 全候補表示 + +# using文で簡潔 +using nyashstd +string.upper("hello") # 短い&明確 +math.sin(3.14) # 探索可能性維持 +``` + +## 📋 要求仕様 + +### 1. namespace構文 +```nyash +# ファイル:nyashstd.nyash +namespace nyashstd { + static box string { + static upper(str) { + return StringBox.upper(str) # 既存実装活用 + } + static lower(str) { ... } + static split(str, sep) { ... } + } + + static box math { + static sin(x) { ... } + static cos(x) { ... } + } +} +``` + +### 2. using構文(2パターン) +```nyash +# パターンA: 完全インポート +using nyashstd +string.upper("hello") +math.sin(3.14) + +# パターンB: 選択インポート(将来拡張) +using nyashstd.string +using nyashstd.math +string.upper("hello") +math.sin(3.14) +``` + +### 3. 完全修飾名(常時利用可能) +```nyash +# using なしでも常に使える +nyashstd.string.upper("hello") +nyashstd.math.sin(3.14) +``` + +## 🔧 技術的課題 + +### A. パーサー拡張 +1. **namespace宣言解析** + - `namespace identifier { ... }` 構文 + - ネストしたstatic box解析 + - スコープ管理 + +2. **using文解析** + - `using namespace_path` 構文 + - ファイル先頭での使用制限 + - 重複インポート検出 + +3. **修飾名解析** + - `identifier.identifier.identifier` 構文 + - 名前解決の段階的処理 + +### B. インタープリター/VM拡張 +1. **名前空間レジストリ** + - グローバル名前空間管理 + - 階層的名前解決 + - キャッシュ機能 + +2. **using解決** + - インポートされた名前の局所化 + - 名前衝突検出・エラー処理 + - スコープ境界管理 + +### C. ファイル間依存関係システム +```nyash +# ファイル: main.nyash +using nyashstd # ← nyashstd.nyash の読み込みが必要 +string.upper("hello") + +# ファイル: nyashstd.nyash +namespace nyashstd { ... } +``` + +**課題:** +- ファイル読み込み順序の決定 +- 循環依存の検出・防止 +- 依存関係解決アルゴリズム +- パフォーマンス(キャッシュ・遅延読み込み) + +## 🚀 実装方針 + +### Step 1: パーサー拡張 +```rust +// AST拡張 +pub enum Statement { + // 既存... + NamespaceDeclaration { + name: String, + body: Vec, + }, + UsingStatement { + namespace_path: Vec, // ["nyashstd", "string"] + }, +} + +// 修飾名アクセス +pub enum Expression { + // 既存... + QualifiedAccess { + path: Vec, // ["nyashstd", "string", "upper"] + args: Vec, + }, +} +``` + +### Step 2: 名前空間レジストリ +```rust +// グローバル名前空間管理 +pub struct NamespaceRegistry { + namespaces: HashMap, + using_imports: HashMap>, // ファイル別インポート +} + +pub struct NamespaceDefinition { + static_boxes: HashMap, +} + +pub struct StaticBoxDefinition { + static_methods: HashMap, +} +``` + +### Step 3: 依存関係解決 +```rust +// ファイル依存関係グラフ +pub struct DependencyResolver { + file_dependencies: HashMap>, + load_order: Vec, +} + +impl DependencyResolver { + // 循環依存検出 + pub fn detect_cycles(&self) -> Result<(), Vec>; + + // 読み込み順序決定 + pub fn resolve_load_order(&self) -> Result, DependencyError>; +} +``` + +## 🧪 必須テストケース + +### 1. 基本動作テスト +```nyash +# test_namespace_basic.nyash +namespace test_ns { + static box example { + static hello() { + return "Hello from namespace!" + } + } +} + +local result = test_ns.example.hello() +assert(result == "Hello from namespace!") +``` + +### 2. using文テスト +```nyash +# test_using_basic.nyash +using nyashstd + +local upper = string.upper("hello") +assert(upper == "HELLO") + +local result = math.sin(0) +assert(result == 0) +``` + +### 3. 名前衝突テスト +```nyash +# test_name_collision.nyash +using nyashstd + +# ❌ これはエラーになるべき +static box string { + static custom() { return "custom" } +} +# Error: 'string' already imported from nyashstd +``` + +### 4. 依存関係テスト +```nyash +# File: dependency_test_main.nyash +using dependency_test_lib +local result = helper.process("data") + +# File: dependency_test_lib.nyash +namespace dependency_test_lib { + static box helper { + static process(data) { return "processed: " + data } + } +} +``` + +### 5. 循環依存エラーテスト +```nyash +# File: circular_a.nyash +using circular_b +# ... + +# File: circular_b.nyash +using circular_a # ← Error: Circular dependency detected +# ... +``` + +## ✅ 完了条件 + +### パーサー +- [ ] namespace宣言の正常解析 +- [ ] using文の正常解析 +- [ ] 修飾名アクセスの正常解析 +- [ ] 構文エラーの適切な報告 + +### インタープリター/VM +- [ ] 名前空間レジストリ動作 +- [ ] using解決機能 +- [ ] 名前衝突検出・エラー処理 +- [ ] パフォーマンス許容範囲(既存の90%以上) + +### 依存関係システム +- [ ] ファイル間依存解決 +- [ ] 循環依存検出・エラー報告 +- [ ] 適切な読み込み順序決定 +- [ ] キャッシュ機能(同一ファイル重複読み込み防止) + +### テスト +- [ ] 全テストケース通過 +- [ ] エラーケース適切処理 +- [ ] IDE補完対応確認(Language Server連携) + +## 🔗 関連Phase +- Phase 8.9: birth()統一システム(完了) +- Phase 9: AOT WASM実装(完了) +- Phase 10: 高度メモリ管理(完了) +- **Phase 11**: FFI/外部ライブラリ統合(予定) + +## 📝 実装ノート + +### 優先順位 +1. **High**: パーサー拡張(namespace, using) +2. **High**: 基本名前解決機能 +3. **Medium**: 依存関係システム +4. **Low**: パフォーマンス最適化 + +### 既存コードとの互換性 +- 既存のStringBox等は変更なし +- static box string は既存Boxのラッパーとして実装 +- 段階的移行可能な設計 + +--- + +**🐾 Copilot様、この詳細仕様で namespace & using システムの実装をお願いします!** \ No newline at end of file diff --git a/docs/予定/nyash.link/README.md b/docs/予定/nyash.link/README.md new file mode 100644 index 00000000..36950d09 --- /dev/null +++ b/docs/予定/nyash.link/README.md @@ -0,0 +1,267 @@ +# nyash.linkシステム設計 - モジュール・依存関係管理革命 + +## 🎯 設計背景 + +### 📊 現状調査結果 +- **include使用状況**: 主にexamples/text_adventureで10件程度、実用性は限定的 +- **usingキーワード**: **未実装**(トークナイザーにも存在しない) +- **namespace設計**: Phase 9.75eで仕様完成、実装待ち + +### 🌟 Gemini先生の推奨 +> 「技術的に非常に妥当であり、現代的なプログラミング言語の設計として強く推奨される」 + +**結論**: includeほぼ未使用 + using未実装 = 完全に新設計で進められる!🎉 + +## 🚀 設計方針 + +### 💡 基本コンセプト +``` +依存関係管理(nyash.link) + モジュールインポート(using) = 完璧な統合 +``` + +### 🎯 他言語成功モデル +- **Rust**: `Cargo.toml + mod/use` - 厳格で分かりやすい +- **Node.js**: `package.json + import/export` - エコシステム成功 +- **Python**: `pyproject.toml + import` - 依存関係分離 + +## 📋 nyash.linkファイル仕様 + +### 基本フォーマット +```toml +# nyash.link (プロジェクトルート) +[project] +name = "my-nyash-project" +version = "0.1.0" +description = "素晴らしいNyashプロジェクト" + +[dependencies] +# 標準ライブラリ +nyashstd = { path = "./stdlib/nyashstd.nyash" } + +# ユーザーライブラリ +mylib = { path = "./libs/mylib.nyash" } +utils = { path = "./src/utils.nyash" } + +# 将来の外部パッケージ(例) +# http_client = { version = "1.0.0", registry = "nyash-pkg" } + +[search_paths] +stdlib = "./stdlib/" +libs = "./libs/" +src = "./src/" + +[build] +entry_point = "./src/main.nyash" +``` + +### 依存関係タイプ + +#### 1. **ローカル依存** +```toml +[dependencies] +my_module = { path = "./src/my_module.nyash" } +``` + +#### 2. **標準ライブラリ** +```toml +[dependencies] +nyashstd = { stdlib = true } # 特別扱い +``` + +#### 3. **将来の外部パッケージ** +```toml +[dependencies] +awesome_lib = { version = "^1.2.0", registry = "nyash-pkg" } +``` + +## 🔧 usingシステム設計 + +### 1. トークナイザー拡張 +```rust +// src/tokenizer.rs に追加 +pub enum TokenType { + // 既存... + USING, // using (モジュールインポート) + NAMESPACE, // namespace (名前空間宣言) +} +``` + +### 2. パーサー拡張 +```rust +// AST拡張 +pub enum Statement { + // 既存... + UsingStatement { + module_path: Vec, // ["nyashstd", "string"] + alias: Option, // using nyashstd.string as str + }, + NamespaceDeclaration { + name: String, + body: Vec, + }, +} +``` + +### 3. 基本構文 +```nyash +// ===== using構文パターン ===== + +// パターンA: 名前空間全体 +using nyashstd +string.upper("hello") // nyashstd.string.upper +math.sin(3.14) // nyashstd.math.sin + +// パターンB: 特定機能(将来拡張) +using nyashstd.string +upper("hello") // string.upperを直接 + +// パターンC: エイリアス(将来拡張) +using nyashstd.string as str +str.upper("hello") + +// パターンD: 完全修飾名(常時利用可能) +nyashstd.string.upper("hello") // using不要 +``` + +## 📁 推奨ディレクトリ構造 + +### 基本プロジェクト構造 +``` +my-nyash-project/ +├── nyash.link # 依存関係定義 +├── src/ +│ ├── main.nyash # エントリーポイント +│ ├── utils.nyash # ユーティリティモジュール +│ └── models/ +│ └── user.nyash # モデル定義 +├── libs/ # プロジェクト固有ライブラリ +│ └── mylib.nyash +├── stdlib/ # 標準ライブラリ(システム配布) +│ └── nyashstd.nyash +└── tests/ # テストファイル + └── test_main.nyash +``` + +### 標準ライブラリ構造 +``` +stdlib/ +├── nyashstd.nyash # メインエントリー +├── string/ +│ └── mod.nyash # string関連機能 +├── math/ +│ └── mod.nyash # 数学関数 +├── http/ +│ └── mod.nyash # HTTP関連 +└── io/ + └── mod.nyash # I/O関連 +``` + +## 🔄 動作フロー + +### 1. プロジェクト初期化 +```bash +# 将来のCLI例 +nyash init my-project # nyash.linkテンプレート生成 +cd my-project +``` + +### 2. 実行時解決 +``` +main.nyash実行 + ↓ +nyash.link読み込み + ↓ +using nyashstd解析 + ↓ +./stdlib/nyashstd.nyash読み込み + ↓ +namespace nyashstd解析・登録 + ↓ +string.upper()利用可能 +``` + +### 3. 名前解決アルゴリズム +``` +string.upper() 呼び出し + ↓ +1. ローカルスコープ検索 +2. usingでインポートされた名前空間検索 +3. 完全修飾名として解釈 +4. エラー(未定義) +``` + +## 🧪 実装段階 + +### Phase 1: 最小実装 +```nyash +// ✅ 実装目標 +using mylib // 単純パス解決 +mylib.hello() // 関数呼び出し + +// nyash.link +[dependencies] +mylib = { path = "./mylib.nyash" } +``` + +### Phase 2: 名前空間サポート +```nyash +// ✅ 実装目標 +using nyashstd +string.upper("hello") + +// nyashstd.nyash +namespace nyashstd { + static box string { + static upper(str) { ... } + } +} +``` + +### Phase 3: 高度機能 +- エイリアス(`using ... as ...`) +- 選択インポート(`using nyashstd.string`) +- 循環依存検出 +- パッケージレジストリ連携 + +## ⚡ 実装優先順位 + +### 🚨 Critical(即時) +1. **UsingTokenizer実装** - Token::USINGを追加 +2. **基本パーサー** - using文AST構築 +3. **nyash.link解析** - TOML読み込み機能 + +### ⚡ High(今週) +4. **名前解決エンジン** - モジュール→ファイル解決 +5. **基本テスト** - using mylib動作確認 +6. **エラー処理** - 未定義モジュール等 + +### 📝 Medium(来週) +7. **namespace構文** - static box解析 +8. **標準ライブラリ設計** - nyashstd.nyash作成 +9. **完全修飾名** - nyashstd.string.upper() + +### 🔮 Future(今後) +10. **IDE連携** - Language Server補完 +11. **パッケージマネージャー** - 外部レジストリ +12. **循環依存検出** - 高度エラー処理 + +## 🎉 期待効果 + +### 📈 開発体験向上 +- **IDE補完**: `ny`→全標準機能表示 +- **探索可能性**: モジュール構造が明確 +- **エラー削減**: 名前衝突・未定義の事前検出 + +### 🏗️ プロジェクト管理 +- **依存関係明確化**: nyash.linkで一元管理 +- **ビルド再現性**: 他環境での確実な動作 +- **スケーラビリティ**: 大規模プロジェクト対応 + +### 🌍 エコシステム発展 +- **ライブラリ共有**: 標準化されたモジュール形式 +- **コミュニティ成長**: パッケージレジストリ基盤 +- **言語成熟度**: モダンな言語仕様 + +--- + +**🐾 この設計でNyashが真にモダンなプログラミング言語になるにゃ!** \ No newline at end of file diff --git a/docs/予定/nyash.link/bid-using-integration.md b/docs/予定/nyash.link/bid-using-integration.md new file mode 100644 index 00000000..3ac7aea3 --- /dev/null +++ b/docs/予定/nyash.link/bid-using-integration.md @@ -0,0 +1,654 @@ +# BID×usingシステム統合:技術実装詳細 + +## 🎯 統合設計の核心 + +### 📊 既存システムとの整合性 +- ✅ **MIR ExternCall**: 既にFFI-ABI対応実装済み +- ✅ **WASM RuntimeImports**: BID→WASM自動生成基盤あり +- ✅ **VM ExternStub**: スタブ実行環境実装済み +- 🔧 **統合課題**: usingシステムとBIDの橋渡し実装 + +### 🚀 統合アーキテクチャ概要 +``` +User Code (using statements) + ↓ +UniversalNamespaceRegistry + ↓ +CallTarget Resolution + ↓ ↓ ↓ +Builtin FFI-ABI NyashModule + ↓ ↓ ↓ +MIR Generation (BuiltinCall/ExternCall/ModuleCall) + ↓ +Backend Execution (VM/WASM/AOT) +``` + +## 🏗️ 詳細技術実装 + +### 1. BID定義システム + +#### **BIDファイル構造拡張** +```yaml +# apis/enhanced_canvas.yaml +version: 1 +metadata: + name: "Enhanced Canvas API" + description: "Extended Canvas API with batch operations" + target_environments: ["browser", "node-canvas", "skia"] + nyash_namespace: "canvas_api" # usingで使用する名前空間 + +interfaces: + - name: canvas_api.canvas + box: Canvas + methods: + # 基本描画 + - name: fillRect + params: + - {string: canvas_id, description: "Canvas element ID"} + - {i32: x, description: "X coordinate"} + - {i32: y, description: "Y coordinate"} + - {i32: width, description: "Rectangle width"} + - {i32: height, description: "Rectangle height"} + - {string: color, description: "Fill color (CSS format)"} + returns: void + effect: io + optimization_hints: + batch_compatible: true # バッチ処理可能 + gpu_accelerated: true # GPU加速対応 + + # バッチ描画(最適化版) + - name: fillRectBatch + params: + - {string: canvas_id} + - {array_of_rect: rects, element_type: "CanvasRect"} + returns: void + effect: io + optimization_hints: + prefer_over: ["fillRect"] # 複数fillRectの代替 + min_batch_size: 3 + + # テキスト描画 + - name: fillText + params: + - {string: canvas_id} + - {string: text} + - {i32: x} + - {i32: y} + - {string: font} + - {string: color} + returns: void + effect: io + +# カスタム型定義 +custom_types: + - name: CanvasRect + fields: + - {i32: x} + - {i32: y} + - {i32: width} + - {i32: height} + - {string: color} +``` + +#### **BID読み込み・検証システム** +```rust +// 新ファイル: src/bid/mod.rs +use serde::{Deserialize, Serialize}; +use std::collections::HashMap; + +#[derive(Debug, Clone, Deserialize, Serialize)] +pub struct BidDefinition { + pub version: u32, + pub metadata: BidMetadata, + pub interfaces: Vec, + pub custom_types: Option>, +} + +#[derive(Debug, Clone, Deserialize, Serialize)] +pub struct BidMetadata { + pub name: String, + pub description: String, + pub target_environments: Vec, + pub nyash_namespace: String, // using文で使用する名前空間名 +} + +#[derive(Debug, Clone, Deserialize, Serialize)] +pub struct BidInterface { + pub name: String, // "canvas_api.canvas" + pub box_name: String, // "Canvas" + pub methods: Vec, +} + +#[derive(Debug, Clone, Deserialize, Serialize)] +pub struct BidMethod { + pub name: String, + pub params: Vec, + pub returns: BidType, + pub effect: BidEffect, + pub optimization_hints: Option, + pub description: Option, +} + +#[derive(Debug, Clone, Deserialize, Serialize)] +pub struct BidOptimizationHints { + pub batch_compatible: Option, + pub gpu_accelerated: Option, + pub prefer_over: Option>, + pub min_batch_size: Option, +} + +impl BidDefinition { + pub fn load_from_file(path: &Path) -> Result { + let content = std::fs::read_to_string(path)?; + let bid: BidDefinition = serde_yaml::from_str(&content)?; + + // バリデーション + bid.validate()?; + + Ok(bid) + } + + pub fn validate(&self) -> Result<(), BidError> { + // バージョン確認 + if self.version > 1 { + return Err(BidError::UnsupportedVersion(self.version)); + } + + // 名前空間重複チェック + let mut interface_names = HashSet::new(); + for interface in &self.interfaces { + if interface_names.contains(&interface.name) { + return Err(BidError::DuplicateInterface(interface.name.clone())); + } + interface_names.insert(interface.name.clone()); + } + + // パラメータ型確認 + for interface in &self.interfaces { + for method in &interface.methods { + for param in &method.params { + self.validate_type(¶m.param_type)?; + } + self.validate_type(&method.returns)?; + } + } + + Ok(()) + } + + pub fn resolve_method(&self, box_name: &str, method_name: &str) + -> Option<&BidMethod> { + + for interface in &self.interfaces { + // インターフェース名から最後の部分を取得 + // "canvas_api.canvas" → "canvas" + let interface_box_name = interface.name.split('.').last().unwrap_or(&interface.name); + + if interface_box_name == box_name { + for method in &interface.methods { + if method.name == method_name { + return Some(method); + } + } + } + } + + None + } +} +``` + +### 2. 統合名前空間レジストリ詳細 + +#### **UniversalNamespaceRegistry実装** +```rust +// src/registry/universal.rs +use crate::stdlib::BuiltinStdlib; +use crate::bid::BidDefinition; +use crate::module::ExternalModule; +use crate::mir::Effect; + +pub struct UniversalNamespaceRegistry { + /// 組み込み標準ライブラリ + builtin_stdlib: Arc, + + /// FFI-ABI定義(BID) + bid_definitions: HashMap>, + + /// Nyashモジュール(従来) + nyash_modules: HashMap>, + + /// ファイル別usingコンテキスト + using_contexts: Arc>>, + + /// 最適化情報キャッシュ + optimization_cache: Arc>, +} + +#[derive(Debug, Clone)] +pub struct UsingContext { + pub file_id: String, + pub builtin_namespaces: Vec, // ["nyashstd"] + pub bid_namespaces: Vec, // ["canvas_api", "console_api"] + pub module_namespaces: Vec, // ["mylib", "utils"] +} + +impl UniversalNamespaceRegistry { + pub fn new() -> Self { + UniversalNamespaceRegistry { + builtin_stdlib: Arc::new(BuiltinStdlib::new()), + bid_definitions: HashMap::new(), + nyash_modules: HashMap::new(), + using_contexts: Arc::new(RwLock::new(HashMap::new())), + optimization_cache: Arc::new(RwLock::new(OptimizationCache::new())), + } + } + + pub fn load_from_nyash_link(&mut self, nyash_link: &NyashLink) + -> Result<(), RegistryError> { + + // BID依存関係読み込み + for (namespace_name, dependency) in &nyash_link.dependencies { + match dependency { + Dependency::Bid { bid_path, .. } => { + let bid = BidDefinition::load_from_file(Path::new(bid_path))?; + self.bid_definitions.insert(namespace_name.clone(), Arc::new(bid)); + }, + Dependency::Path { path } => { + let module = ExternalModule::load_from_file(Path::new(path))?; + self.nyash_modules.insert(namespace_name.clone(), Arc::new(module)); + }, + Dependency::Builtin { .. } => { + // 組み込みライブラリは既に初期化済み + }, + } + } + + Ok(()) + } + + /// 統合using処理 + pub fn process_using(&mut self, namespace_name: &str, file_id: &str) + -> Result<(), RuntimeError> { + + let mut contexts = self.using_contexts.write().unwrap(); + let context = contexts.entry(file_id.to_string()).or_insert_with(|| { + UsingContext { + file_id: file_id.to_string(), + builtin_namespaces: Vec::new(), + bid_namespaces: Vec::new(), + module_namespaces: Vec::new(), + } + }); + + // 組み込み標準ライブラリチェック + if self.builtin_stdlib.has_namespace(namespace_name) { + if !context.builtin_namespaces.contains(&namespace_name.to_string()) { + context.builtin_namespaces.push(namespace_name.to_string()); + } + return Ok(()); + } + + // BID定義チェック + if let Some(bid) = self.bid_definitions.get(namespace_name) { + if !context.bid_namespaces.contains(&namespace_name.to_string()) { + context.bid_namespaces.push(namespace_name.to_string()); + } + return Ok(()); + } + + // Nyashモジュールチェック + if let Some(_module) = self.nyash_modules.get(namespace_name) { + if !context.module_namespaces.contains(&namespace_name.to_string()) { + context.module_namespaces.push(namespace_name.to_string()); + } + return Ok(()); + } + + Err(RuntimeError::UndefinedNamespace(namespace_name.to_string())) + } + + /// 統合関数解決 + pub fn resolve_call(&self, file_id: &str, call_path: &[String]) + -> Result { + + if call_path.len() != 2 { + return Err(RuntimeError::InvalidCallPath(call_path.join("."))); + } + + let box_name = &call_path[0]; + let method_name = &call_path[1]; + + let contexts = self.using_contexts.read().unwrap(); + if let Some(context) = contexts.get(file_id) { + + // 1. 組み込み標準ライブラリ解決 + for namespace in &context.builtin_namespaces { + if let Some(method) = self.builtin_stdlib.resolve_method(namespace, box_name, method_name) { + return Ok(ResolvedCall::Builtin { + namespace: namespace.clone(), + box_name: box_name.clone(), + method_name: method_name.clone(), + method_info: method, + }); + } + } + + // 2. BID定義解決 + for namespace in &context.bid_namespaces { + if let Some(bid) = self.bid_definitions.get(namespace) { + if let Some(method) = bid.resolve_method(box_name, method_name) { + return Ok(ResolvedCall::BidCall { + namespace: namespace.clone(), + interface_name: format!("{}.{}", namespace, box_name), + method_name: method_name.clone(), + method_info: method.clone(), + bid_definition: bid.clone(), + }); + } + } + } + + // 3. Nyashモジュール解決 + for namespace in &context.module_namespaces { + if let Some(module) = self.nyash_modules.get(namespace) { + if let Some(function) = module.resolve_function(box_name, method_name) { + return Ok(ResolvedCall::ModuleCall { + namespace: namespace.clone(), + module_name: namespace.clone(), + function_name: format!("{}.{}", box_name, method_name), + function_info: function, + }); + } + } + } + } + + Err(RuntimeError::UndefinedMethod(format!("{}.{}", box_name, method_name))) + } +} + +#[derive(Debug, Clone)] +pub enum ResolvedCall { + Builtin { + namespace: String, + box_name: String, + method_name: String, + method_info: BuiltinMethodInfo, + }, + BidCall { + namespace: String, + interface_name: String, + method_name: String, + method_info: BidMethod, + bid_definition: Arc, + }, + ModuleCall { + namespace: String, + module_name: String, + function_name: String, + function_info: ModuleFunctionInfo, + }, +} +``` + +### 3. MIR生成統合 + +#### **統合MIR Builder** +```rust +// src/mir/builder.rs拡張 +impl MirBuilder { + pub fn build_unified_method_call(&mut self, resolved_call: ResolvedCall, args: Vec) + -> Result, MirError> { + + match resolved_call { + ResolvedCall::Builtin { method_info, .. } => { + let result = self.new_value_id(); + + self.emit(MirInstruction::BuiltinCall { + qualified_name: method_info.qualified_name(), + args, + result, + effect: method_info.effect(), + }); + + Ok(Some(result)) + }, + + ResolvedCall::BidCall { interface_name, method_name, method_info, .. } => { + let result = if method_info.returns == BidType::Void { + None + } else { + Some(self.new_value_id()) + }; + + self.emit(MirInstruction::ExternCall { + interface: interface_name, + method: method_name, + args, + result, + effect: self.bid_effect_to_mir_effect(&method_info.effect), + bid_signature: BidSignature::from_method(&method_info), + }); + + Ok(result) + }, + + ResolvedCall::ModuleCall { module_name, function_name, function_info, .. } => { + let result = self.new_value_id(); + + self.emit(MirInstruction::ModuleCall { + module: module_name, + function: function_name, + args, + result, + effect: Effect::Io, // Nyashモジュールはデフォルトでio + }); + + Ok(Some(result)) + }, + } + } + + fn bid_effect_to_mir_effect(&self, bid_effect: &BidEffect) -> Effect { + match bid_effect { + BidEffect::Pure => Effect::Pure, + BidEffect::Mut => Effect::Mut, + BidEffect::Io => Effect::Io, + BidEffect::Control => Effect::Control, + } + } +} +``` + +### 4. バックエンド統合 + +#### **WASM生成統合** +```rust +// src/backend/wasm/codegen.rs拡張 +impl WasmCodegen { + pub fn generate_unified_call(&mut self, instruction: &MirInstruction) + -> Result<(), WasmError> { + + match instruction { + MirInstruction::ExternCall { interface, method, args, bid_signature, .. } => { + // BIDから自動生成されたWASM import名 + let wasm_import_name = self.bid_to_wasm_import_name(interface, method); + + // 引数の型変換・マーシャリング + let marshalled_args = self.marshal_args_for_wasm(args, &bid_signature.params)?; + + // WASM関数呼び出し生成 + self.emit_call(&wasm_import_name, &marshalled_args)?; + + // 戻り値のアンマーシャリング + if bid_signature.returns != BidType::Void { + self.unmarshal_return_value(&bid_signature.returns)?; + } + + Ok(()) + }, + + // 他の命令は既存実装 + _ => self.generate_instruction_legacy(instruction), + } + } + + fn bid_to_wasm_import_name(&self, interface: &str, method: &str) -> String { + // "canvas_api.canvas" + "fillRect" → "canvas_api_canvas_fillRect" + format!("{}_{}", interface.replace(".", "_"), method) + } + + fn marshal_args_for_wasm(&mut self, args: &[ValueId], params: &[BidParam]) + -> Result, WasmError> { + + let mut marshalled = Vec::new(); + + for (i, param) in params.iter().enumerate() { + let arg_value = self.get_value(args[i])?; + + match ¶m.param_type { + BidType::String => { + // 文字列を (ptr, len) にマーシャル + let (ptr, len) = self.string_to_wasm_memory(&arg_value)?; + marshalled.push(WasmValue::I32(ptr)); + marshalled.push(WasmValue::I32(len)); + }, + BidType::I32 => { + marshalled.push(WasmValue::I32(arg_value.to_i32()?)); + }, + BidType::F64 => { + marshalled.push(WasmValue::F64(arg_value.to_f64()?)); + }, + // その他の型... + } + } + + Ok(marshalled) + } +} +``` + +#### **VM実行統合** +```rust +// src/backend/vm.rs拡張 +impl VmBackend { + pub fn execute_unified_instruction(&mut self, instruction: &MirInstruction) + -> Result<(), VmError> { + + match instruction { + MirInstruction::ExternCall { interface, method, args, bid_signature, .. } => { + // VM環境ではスタブまたはネイティブ呼び出し + let evaluated_args = self.evaluate_args(args)?; + + if let Some(native_impl) = self.find_native_implementation(interface, method) { + // ネイティブ実装がある場合(例:ファイルI/O) + let result = native_impl.call(evaluated_args, bid_signature)?; + if let Some(result_id) = &instruction.result { + self.set_value(*result_id, result); + } + } else { + // スタブ実装(ログ出力等) + self.execute_stub_call(interface, method, evaluated_args, bid_signature)?; + } + + Ok(()) + }, + + // 他の命令は既存実装 + _ => self.execute_instruction_legacy(instruction), + } + } + + fn find_native_implementation(&self, interface: &str, method: &str) + -> Option<&dyn NativeImplementation> { + + // VM環境で利用可能なネイティブ実装を検索 + match (interface, method) { + ("env.console", "log") => Some(&self.console_impl), + ("env.filesystem", "read") => Some(&self.filesystem_impl), + ("env.filesystem", "write") => Some(&self.filesystem_impl), + _ => None, + } + } +} +``` + +## 🧪 統合テスト戦略 + +### Phase別テスト実装 + +#### **Phase 0: 基本統合テスト** +```nyash +# test_basic_integration.nyash +using nyashstd + +# 組み込み標準ライブラリのみ +assert(string.upper("test") == "TEST") +assert(math.sin(0) == 0) +``` + +#### **Phase 1: BID統合テスト** +```nyash +# test_bid_integration.nyash +using nyashstd +using console_api + +# 組み込み + FFI-ABI +string.upper("hello") # 組み込み +console.log("Testing") # FFI-ABI +``` + +#### **Phase 2: 完全統合テスト** +```nyash +# test_full_integration.nyash +using nyashstd +using console_api +using mylib + +# 3種類すべて +string.upper("test") # 組み込み +console.log("Integration") # FFI-ABI +mylib.process("data") # Nyashモジュール +``` + +### エラーハンドリングテスト +```nyash +# test_error_handling.nyash +try { + using nonexistent_api +} catch error { + assert(error.type == "UndefinedNamespace") +} + +try { + console.nonexistent_method("test") +} catch error { + assert(error.type == "UndefinedMethod") + assert(error.message.contains("Available methods:")) +} +``` + +## 📊 実装マイルストーン + +### ✅ Phase 0完了条件 +- [ ] UniversalNamespaceRegistry基盤実装 +- [ ] 組み込み標準ライブラリ統合 +- [ ] 基本using文処理 +- [ ] MIR BuiltinCall生成 + +### ✅ Phase 1完了条件 +- [ ] BID定義読み込み・検証 +- [ ] BID→MIR ExternCall統合 +- [ ] WASM RuntimeImports自動生成 +- [ ] VM スタブ実行 + +### ✅ Phase 2完了条件 +- [ ] Nyashモジュール統合 +- [ ] 統合エラーハンドリング +- [ ] 最適化キャッシュ +- [ ] 全バックエンド対応 + +--- + +**🎯 この詳細実装により、BIDとusingシステムの完全統合が実現でき、「なんでもAPI計画」の技術基盤が完成するにゃ!🚀🐱** \ No newline at end of file diff --git a/docs/予定/nyash.link/builtin-stdlib-architecture.md b/docs/予定/nyash.link/builtin-stdlib-architecture.md new file mode 100644 index 00000000..24aeffdd --- /dev/null +++ b/docs/予定/nyash.link/builtin-stdlib-architecture.md @@ -0,0 +1,456 @@ +# 組み込みnyashstd名前空間アーキテクチャ設計 + +## 🏗️ 技術的実装アーキテクチャ + +### 📊 現在のインタープリター構造分析 + +#### **NyashInterpreter構造** +```rust +pub struct NyashInterpreter { + pub(super) shared: SharedState, // 共有状態 + pub(super) local_vars: HashMap, + pub(super) outbox_vars: HashMap, + // その他の制御フロー状態... +} +``` + +#### **設計判断:SharedStateに組み込み** +- **理由**: 標準ライブラリは不変・全インタープリターで共有可能 +- **利点**: メモリ効率、パフォーマンス向上 +- **実装**: SharedStateに`builtin_stdlib`フィールド追加 + +## 🌟 最適化されたアーキテクチャ設計 + +### 1. SharedState拡張 + +#### **src/interpreter/core.rs** +```rust +#[derive(Clone)] +pub struct SharedState { + // 既存フィールド... + pub global_vars: Arc>>, + pub functions: Arc>>, + pub box_definitions: Arc>>>, + pub loop_counter: Arc, + pub included_files: Arc>>, + + // 🌟 新規追加: 組み込み標準ライブラリ + pub builtin_stdlib: Arc, + pub using_imports: Arc>>, // ファイル別インポート管理 +} + +#[derive(Debug, Clone)] +pub struct UsingContext { + pub imported_namespaces: Vec, // ["nyashstd"] + pub file_id: String, // インポート元ファイル識別 +} +``` + +### 2. BuiltinStdlib効率化設計 + +#### **新ファイル: src/stdlib/builtin.rs** +```rust +//! 🚀 高性能組み込み標準ライブラリ +//! +//! 設計方針: +//! - Zero-allocation関数実行 +//! - 高速名前解決 +//! - 既存Box実装の最大活用 + +use crate::boxes::*; +use std::collections::HashMap; + +/// 組み込み標準ライブラリのメイン構造体 +#[derive(Debug)] +pub struct BuiltinStdlib { + /// 高速アクセス用:フラットな関数マップ + /// "string.upper" -> BuiltinFunction + pub flat_functions: HashMap, + + /// IDE補完用:階層構造 + /// "nyashstd" -> { "string" -> ["upper", "lower", ...] } + pub hierarchical_map: HashMap>>, +} + +/// 組み込み関数の実装 +pub struct BuiltinFunction { + pub namespace: &'static str, // "nyashstd" + pub box_name: &'static str, // "string" + pub method_name: &'static str, // "upper" + pub implementation: BuiltinMethodImpl, + pub arg_count: Option, // None = 可変長 + pub description: &'static str, // エラーメッセージ・ヘルプ用 +} + +/// 高性能関数実装 +pub type BuiltinMethodImpl = fn(&[Box]) -> Result, RuntimeError>; + +impl BuiltinStdlib { + /// 🚀 標準ライブラリ初期化(起動時1回のみ) + pub fn new() -> Self { + let mut stdlib = BuiltinStdlib { + flat_functions: HashMap::new(), + hierarchical_map: HashMap::new(), + }; + + // 標準関数登録 + stdlib.register_all_functions(); + + stdlib + } + + /// ⚡ 高速関数解決 + pub fn get_function(&self, qualified_name: &str) -> Option<&BuiltinFunction> { + // "string.upper" で直接アクセス + self.flat_functions.get(qualified_name) + } + + /// 🔍 IDE補完用:利用可能関数一覧取得 + pub fn get_available_methods(&self, namespace: &str, box_name: &str) -> Option<&Vec> { + self.hierarchical_map.get(namespace)?.get(box_name) + } + + /// 📋 全名前空間取得(IDE補完用) + pub fn get_all_namespaces(&self) -> Vec<&String> { + self.hierarchical_map.keys().collect() + } +} +``` + +### 3. 標準関数実装(高性能版) + +#### **文字列関数実装** +```rust +impl BuiltinStdlib { + fn register_all_functions(&mut self) { + // === nyashstd.string.* === + self.register_function("string.upper", BuiltinFunction { + namespace: "nyashstd", + box_name: "string", + method_name: "upper", + implementation: |args| { + if args.len() != 1 { + return Err(RuntimeError::InvalidArguments( + "string.upper(str) takes exactly 1 argument".to_string() + )); + } + + // 🚀 既存StringBox実装活用 + let input_str = args[0].to_string_box().value; + let result = StringBox::new(&input_str.to_uppercase()); + Ok(Box::new(result)) + }, + arg_count: Some(1), + description: "Convert string to uppercase", + }); + + self.register_function("string.lower", BuiltinFunction { + namespace: "nyashstd", + box_name: "string", + method_name: "lower", + implementation: |args| { + if args.len() != 1 { + return Err(RuntimeError::InvalidArguments( + "string.lower(str) takes exactly 1 argument".to_string() + )); + } + + let input_str = args[0].to_string_box().value; + let result = StringBox::new(&input_str.to_lowercase()); + Ok(Box::new(result)) + }, + arg_count: Some(1), + description: "Convert string to lowercase", + }); + + self.register_function("string.split", BuiltinFunction { + namespace: "nyashstd", + box_name: "string", + method_name: "split", + implementation: |args| { + if args.len() != 2 { + return Err(RuntimeError::InvalidArguments( + "string.split(str, separator) takes exactly 2 arguments".to_string() + )); + } + + // 🚀 既存StringBox.split()メソッド活用 + let string_box = StringBox::new(&args[0].to_string_box().value); + let separator = &args[1].to_string_box().value; + string_box.split(separator) + }, + arg_count: Some(2), + description: "Split string by separator into array", + }); + + // === nyashstd.math.* === + self.register_function("math.sin", BuiltinFunction { + namespace: "nyashstd", + box_name: "math", + method_name: "sin", + implementation: |args| { + if args.len() != 1 { + return Err(RuntimeError::InvalidArguments( + "math.sin(x) takes exactly 1 argument".to_string() + )); + } + + // 🚀 既存MathBox実装活用 + let math_box = MathBox::new(); + let x = args[0].to_integer_box().value as f64; + let result = math_box.sin(x)?; + Ok(result) + }, + arg_count: Some(1), + description: "Calculate sine of x (in radians)", + }); + + // 階層マップも同時構築 + self.build_hierarchical_map(); + } + + fn register_function(&mut self, qualified_name: &str, function: BuiltinFunction) { + self.flat_functions.insert(qualified_name.to_string(), function); + } + + fn build_hierarchical_map(&mut self) { + for (qualified_name, function) in &self.flat_functions { + let namespace_map = self.hierarchical_map + .entry(function.namespace.to_string()) + .or_insert_with(HashMap::new); + + let method_list = namespace_map + .entry(function.box_name.to_string()) + .or_insert_with(Vec::new); + + method_list.push(function.method_name.to_string()); + } + + // ソートして一貫性確保 + for namespace_map in self.hierarchical_map.values_mut() { + for method_list in namespace_map.values_mut() { + method_list.sort(); + } + } + } +} +``` + +### 4. インタープリター統合 + +#### **NyashInterpreter拡張** +```rust +impl NyashInterpreter { + /// using文実行 + pub fn execute_using(&mut self, namespace_name: &str) -> Result<(), RuntimeError> { + // 組み込み名前空間存在チェック + if !self.shared.builtin_stdlib.hierarchical_map.contains_key(namespace_name) { + return Err(RuntimeError::UndefinedNamespace(namespace_name.to_string())); + } + + // 現在ファイルのusingコンテキスト更新 + let file_id = self.get_current_file_id(); + let mut using_imports = self.shared.using_imports.write().unwrap(); + + let context = using_imports.entry(file_id.clone()).or_insert(UsingContext { + imported_namespaces: Vec::new(), + file_id: file_id.clone(), + }); + + if !context.imported_namespaces.contains(&namespace_name.to_string()) { + context.imported_namespaces.push(namespace_name.to_string()); + } + + Ok(()) + } + + /// ⚡ 高速名前解決:string.upper() → nyashstd.string.upper() + pub fn resolve_qualified_call(&self, path: &[String]) -> Option { + if path.len() != 2 { + return None; // Phase 0では2段階のみ対応 + } + + let box_name = &path[0]; + let method_name = &path[1]; + let file_id = self.get_current_file_id(); + + // 現在ファイルのusingインポート確認 + if let Ok(using_imports) = self.shared.using_imports.read() { + if let Some(context) = using_imports.get(&file_id) { + for namespace in &context.imported_namespaces { + let qualified_name = format!("{}.{}", box_name, method_name); + + // 実際に関数が存在するかチェック + if self.shared.builtin_stdlib.get_function(&qualified_name).is_some() { + return Some(qualified_name); + } + } + } + } + + None + } + + /// 🚀 組み込み関数実行 + pub fn call_builtin_function(&self, qualified_name: &str, args: Vec>) + -> Result, RuntimeError> { + + if let Some(function) = self.shared.builtin_stdlib.get_function(qualified_name) { + // 引数数チェック + if let Some(expected_count) = function.arg_count { + if args.len() != expected_count { + return Err(RuntimeError::InvalidArguments( + format!("{}.{}() takes exactly {} arguments, got {}", + function.box_name, function.method_name, + expected_count, args.len()) + )); + } + } + + // 関数実行 + (function.implementation)(&args) + } else { + Err(RuntimeError::UndefinedMethod(qualified_name.to_string())) + } + } +} +``` + +### 5. 式実行統合 + +#### **src/interpreter/expressions.rs修正** +```rust +impl NyashInterpreter { + pub fn execute_expression(&mut self, node: &ASTNode) -> Result, RuntimeError> { + match node { + // 既存のケース... + + // メソッド呼び出し処理修正 + ASTNode::MethodCall { object, method, args, .. } => { + // オブジェクトが単純な識別子かチェック + if let ASTNode::Variable { name: box_name, .. } = object.as_ref() { + // using経由での短縮呼び出しチェック + let path = vec![box_name.clone(), method.clone()]; + if let Some(qualified_name) = self.resolve_qualified_call(&path) { + // 引数評価 + let evaluated_args = self.evaluate_arguments(args)?; + // 組み込み関数実行 + return self.call_builtin_function(&qualified_name, evaluated_args); + } + } + + // 既存のメソッド呼び出し処理 + // ... + } + + // using文実行 + ASTNode::UsingStatement { namespace_name, .. } => { + self.execute_using(namespace_name)?; + Ok(Box::new(VoidBox::new())) + } + + // 他の既存ケース... + } + } +} +``` + +## 📊 パフォーマンス特性 + +### ⚡ 最適化ポイント + +#### **1. Zero-Allocation関数解決** +```rust +// ❌ 遅い:毎回文字列生成 +let qualified = format!("{}.{}", box_name, method_name); + +// ✅ 高速:事前計算済みマップ +if let Some(func) = stdlib.flat_functions.get(&qualified_name) { ... } +``` + +#### **2. 高速名前解決** +```rust +// O(1)アクセス:HashMap直接ルックアップ +// "string.upper" -> BuiltinFunction +``` + +#### **3. 既存Box実装活用** +```rust +// 既存の最適化済みStringBox.split()を直接使用 +string_box.split(separator) // 新規実装不要 +``` + +## 🧪 テストカバレッジ + +### Phase 0必須テスト + +#### **基本機能テスト** +```nyash +# test_builtin_stdlib_basic.nyash +using nyashstd + +# 文字列操作 +assert(string.upper("hello") == "HELLO") +assert(string.lower("WORLD") == "world") +assert(string.split("a,b,c", ",").length() == 3) + +# 数学関数 +assert(math.sin(0) == 0) +assert(math.cos(0) == 1) + +# 配列操作 +local arr = [1, 2, 3] +assert(array.length(arr) == 3) +assert(array.get(arr, 1) == 2) +``` + +#### **エラーハンドリング** +```nyash +# test_builtin_stdlib_errors.nyash +using nyashstd + +# 引数数エラー +try { + string.upper("hello", "extra") # 2引数でエラー + assert(false, "Should have thrown error") +} catch e { + assert(e.contains("takes exactly 1 argument")) +} + +# 未定義名前空間 +try { + using nonexistent + assert(false, "Should have thrown error") +} catch e { + assert(e.contains("UndefinedNamespace")) +} +``` + +#### **IDE補完サポート** +```rust +// テスト:補完候補取得 +let methods = stdlib.get_available_methods("nyashstd", "string"); +assert!(methods.unwrap().contains(&"upper".to_string())); +assert!(methods.unwrap().contains(&"lower".to_string())); +``` + +## 🎯 実装順序 + +### 🚨 Critical(即時実装) +1. **BuiltinStdlib基盤** - src/stdlib/builtin.rs作成 +2. **SharedState統合** - builtin_stdlibフィールド追加 +3. **using文パーサー** - ASTNode::UsingStatement + +### ⚡ High(今週中) +4. **string関数4種** - upper, lower, split, join +5. **基本テスト** - using nyashstd動作確認 +6. **エラーハンドリング** - 適切なエラーメッセージ + +### 📝 Medium(来週) +7. **math関数5種** - sin, cos, sqrt, floor, random +8. **array関数4種** - length, get, push, slice +9. **io関数3種** - print, println, debug + +--- + +**⚡ この高性能アーキテクチャで、複雑なファイル依存関係なしに即座に実用的なnamespace/usingが実現できるにゃ!🚀** \ No newline at end of file diff --git a/docs/予定/nyash.link/examples.md b/docs/予定/nyash.link/examples.md new file mode 100644 index 00000000..60d96abb --- /dev/null +++ b/docs/予定/nyash.link/examples.md @@ -0,0 +1,394 @@ +# nyash.linkシステム使用例 + +## 🎯 基本的な使用例 + +### 📁 プロジェクト構造例 +``` +my-awesome-app/ +├── nyash.link # 依存関係定義 +├── src/ +│ ├── main.nyash # メインファイル +│ ├── models/ +│ │ └── user.nyash # ユーザーモデル +│ └── utils/ +│ └── helpers.nyash # ヘルパー関数 +├── libs/ +│ └── custom_lib.nyash # カスタムライブラリ +└── stdlib/ + └── nyashstd.nyash # 標準ライブラリ +``` + +### 📋 nyash.linkファイル例 +```toml +[project] +name = "my-awesome-app" +version = "1.0.0" +description = "Everything is Box philosophy in action!" + +[dependencies] +# 標準ライブラリ +nyashstd = { path = "./stdlib/nyashstd.nyash" } + +# プロジェクト内モジュール +user_model = { path = "./src/models/user.nyash" } +helpers = { path = "./src/utils/helpers.nyash" } + +# カスタムライブラリ +custom_lib = { path = "./libs/custom_lib.nyash" } + +[search_paths] +stdlib = "./stdlib/" +src = "./src/" +libs = "./libs/" + +[build] +entry_point = "./src/main.nyash" +``` + +## 🌟 実用的なコード例 + +### 1. 基本的なusing使用 +```nyash +# ===== src/main.nyash ===== +using nyashstd +using helpers + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + + # 標準ライブラリ使用 + local text = "hello world" + local upper_text = string.upper(text) # nyashstd.string.upper + me.console.log("Upper: " + upper_text) + + # ヘルパー関数使用 + local processed = helpers.process_data("sample data") + me.console.log("Processed: " + processed) + + # 数学関数 + local result = math.sin(3.14159) + me.console.log("Sin: " + result.toString()) + } +} +``` + +### 2. 標準ライブラリ定義例 +```nyash +# ===== stdlib/nyashstd.nyash ===== +namespace nyashstd { + static box string { + static upper(str) { + local string_box = new StringBox(str) + return string_box.upper() + } + + static lower(str) { + local string_box = new StringBox(str) + return string_box.lower() + } + + static split(str, separator) { + local string_box = new StringBox(str) + return string_box.split(separator) + } + + static join(array, separator) { + local sep_box = new StringBox(separator) + return sep_box.join(array) + } + } + + static box math { + static sin(x) { + local math_box = new MathBox() + return math_box.sin(x) + } + + static cos(x) { + local math_box = new MathBox() + return math_box.cos(x) + } + + static random() { + local random_box = new RandomBox() + return random_box.nextFloat() + } + + static floor(x) { + local math_box = new MathBox() + return math_box.floor(x) + } + } + + static box io { + static read_file(path) { + local file_box = new FileBox() + return file_box.read(path) + } + + static write_file(path, content) { + local file_box = new FileBox() + return file_box.write(path, content) + } + } +} +``` + +### 3. ヘルパーモジュール例 +```nyash +# ===== src/utils/helpers.nyash ===== +using nyashstd + +static function process_data(data) { + # データ処理のヘルパー + local trimmed = string.trim(data) + local upper = string.upper(trimmed) + return "PROCESSED: " + upper +} + +static function calculate_score(points, multiplier) { + local result = points * multiplier + return math.floor(result) +} + +static function format_user_name(first, last) { + return string.upper(first) + " " + string.upper(last) +} +``` + +### 4. モデル定義例 +```nyash +# ===== src/models/user.nyash ===== +using nyashstd +using helpers + +box User { + init { name, email, score } + + birth(user_name, user_email) { + me.name = user_name + me.email = user_email + me.score = 0 + } + + add_points(points) { + me.score = me.score + points + return me.score + } + + get_formatted_name() { + local parts = string.split(me.name, " ") + if parts.length() >= 2 { + return helpers.format_user_name(parts.get(0), parts.get(1)) + } else { + return string.upper(me.name) + } + } + + save_to_file() { + local data = "User: " + me.name + ", Email: " + me.email + ", Score: " + me.score.toString() + local filename = "user_" + string.lower(me.name) + ".txt" + io.write_file(filename, data) + } +} +``` + +## 🎮 実用アプリケーション例 + +### 1. シンプルなWebサーバー +```nyash +# ===== web_server.nyash ===== +using nyashstd +using custom_lib + +static box WebServer { + init { server, port } + + birth(server_port) { + me.port = server_port + me.server = new HttpServerBox() + } + + start() { + me.server.bind("localhost", me.port) + + me.server.on("request", me.handle_request) + + local console = new ConsoleBox() + console.log("Server started on port " + me.port.toString()) + + me.server.listen() + } + + handle_request(request, response) { + local url = request.getUrl() + + if url == "/" { + local html = io.read_file("./public/index.html") + response.setStatus(200) + response.setHeader("Content-Type", "text/html") + response.send(html) + } else { + response.setStatus(404) + response.send("Not Found") + } + } +} + +# メイン実行 +local server = new WebServer(3000) +server.start() +``` + +### 2. データ処理パイプライン +```nyash +# ===== data_processor.nyash ===== +using nyashstd +using helpers + +static box DataProcessor { + init { input_file, output_file } + + birth(input_path, output_path) { + me.input_file = input_path + me.output_file = output_path + } + + process() { + # データ読み込み + local raw_data = io.read_file(me.input_file) + local lines = string.split(raw_data, "\n") + + # 処理済みデータ配列 + local processed_lines = new ArrayBox() + + # 各行を処理 + local i = 0 + loop(i < lines.length()) { + local line = lines.get(i) + local processed = helpers.process_data(line) + processed_lines.push(processed) + i = i + 1 + } + + # 結果をファイルに保存 + local result = string.join(processed_lines, "\n") + io.write_file(me.output_file, result) + + return processed_lines.length() + } +} + +# メイン処理 +local processor = new DataProcessor("input.txt", "output.txt") +local count = processor.process() + +local console = new ConsoleBox() +console.log("Processed " + count.toString() + " lines") +``` + +## 🔧 高度な使用パターン + +### 1. 条件付きモジュール読み込み(将来拡張) +```nyash +# 開発環境では詳細ログ、本番環境ではシンプルログ +using nyashstd + +static function get_logger() { + local env = os.get_env("NYASH_ENV") + + if env == "development" { + using dev_logger + return new dev_logger.DetailLogger() + } else { + using prod_logger + return new prod_logger.SimpleLogger() + } +} +``` + +### 2. エイリアス使用例(将来拡張) +```nyash +# 長い名前空間のエイリアス +using very.long.namespace.name as short + +local result = short.helper_function("data") + +# 複数の類似ライブラリ +using json_v1 as json1 +using json_v2 as json2 + +local data1 = json1.parse(input) +local data2 = json2.parse(input) +``` + +### 3. 部分インポート(将来拡張) +```nyash +# 名前空間全体ではなく特定機能のみ +using nyashstd.string +using nyashstd.math + +# これで直接呼び出せる +local result = upper("hello") # string.upper不要 +local sin_val = sin(3.14) # math.sin不要 +``` + +## 📊 移行例:既存includeからusingへ + +### Before(現在のinclude使用) +```nyash +# ===== 既存のtext_adventure例 ===== +include "text_adventure/items.nyash" +include "text_adventure/rooms.nyash" + +# アイテム作成 +local sword = new Weapon("Sword", 10) +``` + +### After(新しいusing使用) +```nyash +# ===== nyash.link ===== +[dependencies] +game_items = { path = "./text_adventure/items.nyash" } +game_rooms = { path = "./text_adventure/rooms.nyash" } + +# ===== main.nyash ===== +using game_items +using game_rooms + +# アイテム作成(名前空間経由) +local sword = game_items.create_weapon("Sword", 10) +``` + +## 🎉 期待される開発体験 + +### IDE補完の改善 +```nyash +using nyashstd + +# "st" と入力すると... +st → string (補完候補) + +# "string." と入力すると... +string. → upper, lower, split, join, trim, ... (全メソッド表示) +``` + +### エラーメッセージの改善 +```nyash +using nyashstd + +# 間違った呼び出し +local result = string.uppper("hello") # typo + +# エラー: +# Error: Method 'uppper' not found in nyashstd.string +# Did you mean: 'upper'? +# Available methods: upper, lower, split, join, trim +``` + +--- + +**🌟 これらの例でnyash.linkシステムの実用性と美しさが伝わるにゃ!🐱** \ No newline at end of file diff --git a/docs/予定/nyash.link/final-implementation-strategy.md b/docs/予定/nyash.link/final-implementation-strategy.md new file mode 100644 index 00000000..303a9108 --- /dev/null +++ b/docs/予定/nyash.link/final-implementation-strategy.md @@ -0,0 +1,406 @@ +# 最終実装戦略:標準関数優先namespace/usingシステム + +## 🎯 実装戦略まとめ + +### 📋 設計完了項目 +- ✅ **基本戦略**: nyash.link前の段階的実装 +- ✅ **アーキテクチャ**: SharedState統合による高性能設計 +- ✅ **標準関数**: 組み込みnyashstd名前空間 +- ✅ **実装順序**: Critical → High → Medium + +### 🚀 最終実装ロードマップ + +## Phase 0: 組み込みnyashstd基盤(1-2週間) + +### 🚨 Critical実装(即時) + +#### **1. トークナイザー拡張** +```rust +// src/tokenizer.rs +pub enum TokenType { + // 既存... + USING, // using キーワード追加 +} + +// キーワード認識 +fn tokenize_keyword(word: &str) -> TokenType { + match word { + // 既存... + "using" => TokenType::USING, + _ => TokenType::IDENTIFIER(word.to_string()), + } +} +``` + +#### **2. AST最小拡張** +```rust +// src/ast.rs +pub enum ASTNode { + // 既存... + UsingStatement { + namespace_name: String, // Phase 0: "nyashstd"のみ + span: Span, + }, +} +``` + +#### **3. BuiltinStdlib基盤** +```rust +// 新ファイル: src/stdlib/mod.rs +pub mod builtin; +pub use builtin::*; + +// 新ファイル: src/stdlib/builtin.rs +// (前回設計したBuiltinStdlib実装) +``` + +#### **4. SharedState統合** +```rust +// src/interpreter/core.rs +#[derive(Clone)] +pub struct SharedState { + // 既存フィールド... + pub builtin_stdlib: Arc, + pub using_imports: Arc>>, +} + +impl SharedState { + pub fn new() -> Self { + SharedState { + // 既存初期化... + builtin_stdlib: Arc::new(BuiltinStdlib::new()), + using_imports: Arc::new(RwLock::new(HashMap::new())), + } + } +} +``` + +### ⚡ High実装(今週中) + +#### **5. using文パーサー** +```rust +// src/parser/statements.rs +impl NyashParser { + pub fn parse_statement(&mut self) -> Result { + match &self.current_token().token_type { + // 既存ケース... + TokenType::USING => self.parse_using(), + // 他の既存ケース... + } + } + + fn parse_using(&mut self) -> Result { + let start_span = self.current_token().span.clone(); + self.advance(); // consume 'using' + + if let TokenType::IDENTIFIER(namespace_name) = &self.current_token().token_type { + let name = namespace_name.clone(); + self.advance(); + + // Phase 0制限:nyashstdのみ許可 + if name != "nyashstd" { + return Err(ParseError::UnsupportedFeature( + format!("Only 'nyashstd' namespace is supported in Phase 0, got '{}'", name) + )); + } + + Ok(ASTNode::UsingStatement { + namespace_name: name, + span: start_span, + }) + } else { + Err(ParseError::ExpectedIdentifier( + "Expected namespace name after 'using'".to_string() + )) + } + } +} +``` + +#### **6. 基本string関数実装** +```rust +// src/stdlib/builtin.rs拡張 +impl BuiltinStdlib { + fn register_string_functions(&mut self) { + // string.upper + self.register_function("string.upper", BuiltinFunction { + namespace: "nyashstd", + box_name: "string", + method_name: "upper", + implementation: |args| { + if args.len() != 1 { + return Err(RuntimeError::InvalidArguments( + "string.upper() takes exactly 1 argument".to_string() + )); + } + + let input = &args[0].to_string_box().value; + let result = StringBox::new(&input.to_uppercase()); + Ok(Box::new(result)) + }, + arg_count: Some(1), + description: "Convert string to uppercase", + }); + + // string.lower + self.register_function("string.lower", BuiltinFunction { + namespace: "nyashstd", + box_name: "string", + method_name: "lower", + implementation: |args| { + if args.len() != 1 { + return Err(RuntimeError::InvalidArguments( + "string.lower() takes exactly 1 argument".to_string() + )); + } + + let input = &args[0].to_string_box().value; + let result = StringBox::new(&input.to_lowercase()); + Ok(Box::new(result)) + }, + arg_count: Some(1), + description: "Convert string to lowercase", + }); + + // string.split + self.register_function("string.split", BuiltinFunction { + namespace: "nyashstd", + box_name: "string", + method_name: "split", + implementation: |args| { + if args.len() != 2 { + return Err(RuntimeError::InvalidArguments( + "string.split() takes exactly 2 arguments".to_string() + )); + } + + let string_box = StringBox::new(&args[0].to_string_box().value); + let separator = &args[1].to_string_box().value; + string_box.split(separator) + }, + arg_count: Some(2), + description: "Split string by separator", + }); + + // string.join + self.register_function("string.join", BuiltinFunction { + namespace: "nyashstd", + box_name: "string", + method_name: "join", + implementation: |args| { + if args.len() != 2 { + return Err(RuntimeError::InvalidArguments( + "string.join() takes exactly 2 arguments".to_string() + )); + } + + let array_arg = &args[0]; + let separator = &args[1].to_string_box().value; + let separator_box = StringBox::new(separator); + separator_box.join(array_arg.clone()) + }, + arg_count: Some(2), + description: "Join array elements with separator", + }); + } +} +``` + +#### **7. インタープリター統合** +```rust +// src/interpreter/expressions.rs +impl NyashInterpreter { + pub fn execute_expression(&mut self, node: &ASTNode) -> Result, RuntimeError> { + match node { + // using文処理 + ASTNode::UsingStatement { namespace_name, .. } => { + self.execute_using(namespace_name)?; + Ok(Box::new(VoidBox::new())) + } + + // メソッド呼び出し処理拡張 + ASTNode::MethodCall { object, method, args, .. } => { + // 組み込み関数チェック + if let ASTNode::Variable { name: box_name, .. } = object.as_ref() { + let path = vec![box_name.clone(), method.clone()]; + if let Some(qualified_name) = self.resolve_qualified_call(&path) { + let evaluated_args = self.evaluate_arguments(args)?; + return self.call_builtin_function(&qualified_name, evaluated_args); + } + } + + // 既存のメソッド呼び出し処理 + // ... + } + + // 既存の他のケース... + } + } +} +``` + +### 📝 Medium実装(来週) + +#### **8. math関数実装** +```rust +// math.sin, cos, sqrt, floor, random +``` + +#### **9. array関数実装** +```rust +// array.length, get, push, slice +``` + +#### **10. io関数実装** +```rust +// io.print, println, debug +``` + +## Phase 1: 拡張機能(2-3週間後) + +### 🌟 完全修飾名対応 +```nyash +# using不要でも使える +nyashstd.string.upper("hello") +nyashstd.math.sin(3.14) +``` + +#### **実装** +```rust +// ASTNode::QualifiedCall追加 +ASTNode::QualifiedCall { + path: Vec, // ["nyashstd", "string", "upper"] + args: Vec, + span: Span, +} + +// パーサーで "identifier.identifier.identifier()" 構文解析 +``` + +### 🔧 エラーハンドリング強化 +```rust +// より詳細なエラーメッセージ +RuntimeError::UndefinedBuiltinMethod { + namespace: String, + box_name: String, + method_name: String, + available_methods: Vec, // "Did you mean: ..." + span: Span, +} +``` + +### 📊 IDE補完サポート +```rust +// Language Server連携用API +impl BuiltinStdlib { + pub fn get_completion_candidates(&self, prefix: &str) -> Vec { + // "ny" -> ["nyashstd"] + // "nyashstd." -> ["string", "math", "array", "io"] + // "nyashstd.string." -> ["upper", "lower", "split", "join"] + } +} +``` + +## Phase 2: nyash.link準備(1ヶ月後) + +### 🔗 外部モジュール対応基盤 +```rust +// ModuleResolver拡張 +pub enum NamespaceSource { + Builtin(Arc), // 組み込み + External(PathBuf), // nyash.linkで管理 +} + +// NamespaceRegistry統合 +pub struct NamespaceRegistry { + builtin: Arc, + external: HashMap, +} +``` + +### 📁 nyash.link対応 +```toml +[dependencies] +mylib = { path = "./mylib.nyash" } + +# using mylib # Phase 2で対応 +``` + +## 🧪 段階的テスト戦略 + +### Phase 0テスト +```nyash +# test_phase0_basic.nyash +using nyashstd + +# 基本動作 +assert(string.upper("hello") == "HELLO") +assert(string.lower("WORLD") == "world") + +# エラー処理 +try { + using unknown_namespace +} catch e { + assert(e.contains("nyashstd")) +} +``` + +### Phase 1テスト +```nyash +# test_phase1_qualified.nyash +# using不要のテスト +assert(nyashstd.string.upper("hello") == "HELLO") +assert(nyashstd.math.sin(0) == 0) +``` + +### Phase 2テスト +```nyash +# test_phase2_external.nyash +using mylib + +assert(mylib.custom.process("data") == "processed: data") +``` + +## 📊 実装マイルストーン + +### ✅ Phase 0完了条件 +- [ ] USINGトークン認識 +- [ ] using nyashstd構文解析 +- [ ] 組み込みstring関数4種動作 +- [ ] 基本テスト全通過 +- [ ] エラーハンドリング適切 + +### ✅ Phase 1完了条件 +- [ ] 完全修飾名 nyashstd.string.upper() 動作 +- [ ] math/array/io関数実装 +- [ ] IDE補完候補API実装 +- [ ] 詳細エラーメッセージ + +### ✅ Phase 2完了条件 +- [ ] 外部モジュール基盤実装 +- [ ] nyash.link基本対応 +- [ ] 依存関係解決機能 +- [ ] 全機能統合テスト + +## 🔥 即座に開始すべき実装 + +### 今日やること +1. **src/stdlib/mod.rs作成** - モジュール基盤 +2. **TokenType::USING追加** - トークナイザー拡張 +3. **BuiltinStdlib::new()実装** - 空の基盤作成 + +### 今週やること +4. **using文パーサー実装** - 基本構文解析 +5. **string.upper()実装** - 最初の関数 +6. **基本テスト作成** - 動作確認 + +### 来週やること +7. **string関数完成** - lower, split, join +8. **math関数開始** - sin, cos, sqrt +9. **IDE補完設計** - Language Server準備 + +--- + +**🎯 この段階的戦略で、複雑なnyash.linkなしに即座に実用的なnamespace/usingシステムが実現できるにゃ!** + +**🚀 Phase 0実装を今すぐ開始して、Nyashをモダンなプログラミング言語に進化させよう!🐱✨** \ No newline at end of file diff --git a/docs/予定/nyash.link/implementation-plan.md b/docs/予定/nyash.link/implementation-plan.md new file mode 100644 index 00000000..09696e6a --- /dev/null +++ b/docs/予定/nyash.link/implementation-plan.md @@ -0,0 +1,471 @@ +# nyash.linkシステム実装計画 + +## 🎯 実装戦略 + +### 📊 現状確認 +- ✅ **include**: 限定的使用(text_adventure例のみ)→廃止OK +- ✅ **using**: 未実装→完全新規作成 +- ✅ **namespace**: 設計完了→実装のみ +- ✅ **Gemini推奨**: 技術的妥当性確認済み + +## 📋 段階的実装ロードマップ + +### 🚀 **Phase 1: 基盤構築(1-2週間)** + +#### 1.1 トークナイザー拡張 +```rust +// src/tokenizer.rs +pub enum TokenType { + // 既存... + USING, // using キーワード + NAMESPACE, // namespace キーワード + AS, // as キーワード(将来のエイリアス用) +} + +// キーワード認識追加 +fn tokenize_identifier(input: &str) -> TokenType { + match input { + // 既存... + "using" => TokenType::USING, + "namespace" => TokenType::NAMESPACE, + "as" => TokenType::AS, + _ => TokenType::IDENTIFIER(input.to_string()), + } +} +``` + +#### 1.2 AST拡張 +```rust +// src/ast.rs +pub enum ASTNode { + // 既存... + UsingStatement { + module_path: Vec, // ["nyashstd"] or ["mylib"] + alias: Option, // using mylib as lib + span: Span, + }, + NamespaceDeclaration { + name: String, + body: Vec, + span: Span, + }, + QualifiedCall { + path: Vec, // ["nyashstd", "string", "upper"] + args: Vec, + span: Span, + }, +} +``` + +#### 1.3 パーサー基本実装 +```rust +// src/parser/statements.rs +impl NyashParser { + pub fn parse_using(&mut self) -> Result { + self.advance(); // consume 'using' + + let module_path = self.parse_module_path()?; + // using mylib → ["mylib"] + // using nyashstd.string → ["nyashstd", "string"] + + Ok(ASTNode::UsingStatement { + module_path, + alias: None, // Phase 1では未サポート + span: self.current_span(), + }) + } + + fn parse_module_path(&mut self) -> Result, ParseError> { + let mut path = vec![]; + + // 最初の識別子 + if let TokenType::IDENTIFIER(name) = &self.current_token().token_type { + path.push(name.clone()); + self.advance(); + } else { + return Err(ParseError::ExpectedIdentifier); + } + + // ドット区切りで追加パス(将来拡張) + // using nyashstd.string のような構文 + + Ok(path) + } +} +``` + +### ⚡ **Phase 2: nyash.link基盤(2-3週間)** + +#### 2.1 nyash.linkパーサー +```rust +// 新ファイル: src/link_file.rs +use serde::{Deserialize, Serialize}; +use std::collections::HashMap; + +#[derive(Debug, Deserialize, Serialize)] +pub struct NyashLink { + pub project: Option, + pub dependencies: HashMap, + pub search_paths: Option>, + pub build: Option, +} + +#[derive(Debug, Deserialize, Serialize)] +pub struct ProjectInfo { + pub name: String, + pub version: String, + pub description: Option, +} + +#[derive(Debug, Deserialize, Serialize)] +#[serde(untagged)] +pub enum Dependency { + Path { path: String }, + Stdlib { stdlib: bool }, + Registry { version: String, registry: String }, +} + +#[derive(Debug, Deserialize, Serialize)] +pub struct BuildConfig { + pub entry_point: Option, +} + +impl NyashLink { + pub fn from_file(path: &Path) -> Result { + let content = std::fs::read_to_string(path)?; + let link: NyashLink = toml::from_str(&content)?; + Ok(link) + } + + pub fn resolve_dependency(&self, name: &str) -> Option { + if let Some(dep) = self.dependencies.get(name) { + match dep { + Dependency::Path { path } => Some(PathBuf::from(path)), + Dependency::Stdlib { .. } => { + // 標準ライブラリパス解決ロジック + self.resolve_stdlib_path(name) + } + _ => None, // Phase 2では未サポート + } + } else { + None + } + } +} +``` + +#### 2.2 依存関係解決エンジン +```rust +// 新ファイル: src/module_resolver.rs +pub struct ModuleResolver { + nyash_link: NyashLink, + loaded_modules: HashMap>, + loading_stack: Vec, // 循環依存検出用 +} + +impl ModuleResolver { + pub fn new(link_path: &Path) -> Result { + let nyash_link = NyashLink::from_file(link_path)?; + Ok(ModuleResolver { + nyash_link, + loaded_modules: HashMap::new(), + loading_stack: Vec::new(), + }) + } + + pub fn resolve_using(&mut self, module_name: &str) -> Result, ResolverError> { + // 既にロード済みかチェック + if let Some(module) = self.loaded_modules.get(module_name) { + return Ok(module.clone()); + } + + // 循環依存チェック + if self.loading_stack.contains(&module_name.to_string()) { + return Err(ResolverError::CircularDependency( + self.loading_stack.clone() + )); + } + + // ファイルパス解決 + let file_path = self.nyash_link.resolve_dependency(module_name) + .ok_or(ResolverError::ModuleNotFound(module_name.to_string()))?; + + // 再帰的読み込み防止 + self.loading_stack.push(module_name.to_string()); + + // ファイル読み込み・パース + let content = std::fs::read_to_string(&file_path)?; + let ast = NyashParser::parse_from_string(&content)?; + + // モジュール作成 + let module = Arc::new(ParsedModule { + name: module_name.to_string(), + file_path, + ast, + exports: self.extract_exports(&ast)?, + }); + + // キャッシュに保存 + self.loaded_modules.insert(module_name.to_string(), module.clone()); + self.loading_stack.pop(); + + Ok(module) + } +} +``` + +### 📈 **Phase 3: 名前空間システム(3-4週間)** + +#### 3.1 namespace解析 +```rust +impl NyashParser { + pub fn parse_namespace(&mut self) -> Result { + self.advance(); // consume 'namespace' + + let name = self.expect_identifier()?; + self.expect_token(TokenType::LBRACE)?; + + let mut body = vec![]; + while !self.check_token(&TokenType::RBRACE) { + body.push(self.parse_statement()?); + } + + self.expect_token(TokenType::RBRACE)?; + + Ok(ASTNode::NamespaceDeclaration { + name, + body, + span: self.current_span(), + }) + } +} +``` + +#### 3.2 名前空間レジストリ +```rust +// 新ファイル: src/namespace_registry.rs +pub struct NamespaceRegistry { + namespaces: HashMap, + using_imports: HashMap>, // ファイル別インポート +} + +pub struct Namespace { + pub name: String, + pub static_boxes: HashMap, +} + +pub struct StaticBox { + pub name: String, + pub static_methods: HashMap, +} + +impl NamespaceRegistry { + pub fn register_namespace(&mut self, name: String, namespace: Namespace) { + self.namespaces.insert(name, namespace); + } + + pub fn add_using_import(&mut self, file_id: String, namespace_name: String) { + self.using_imports + .entry(file_id) + .or_insert_with(Vec::new) + .push(namespace_name); + } + + pub fn resolve_call(&self, file_id: &str, path: &[String]) -> Option { + // 例: string.upper() → nyashstd.string.upper() + if path.len() == 2 { + let box_name = &path[0]; + let method_name = &path[1]; + + // usingでインポートされた名前空間を検索 + if let Some(imports) = self.using_imports.get(file_id) { + for namespace_name in imports { + if let Some(namespace) = self.namespaces.get(namespace_name) { + if let Some(static_box) = namespace.static_boxes.get(box_name) { + if let Some(method) = static_box.static_methods.get(method_name) { + return Some(method.clone()); + } + } + } + } + } + } + + None + } +} +``` + +### 🎯 **Phase 4: インタープリター統合(4-5週間)** + +#### 4.1 using文実行 +```rust +// src/interpreter/core.rs +impl NyashInterpreter { + pub fn execute_using(&mut self, module_path: &[String]) -> Result<(), RuntimeError> { + let module_name = module_path.join("."); + + // モジュール解決・読み込み + let module = self.module_resolver.resolve_using(&module_name)?; + + // 名前空間登録 + if let Some(namespace) = self.extract_namespace_from_module(&module) { + self.namespace_registry.register_namespace(module_name.clone(), namespace); + self.namespace_registry.add_using_import( + self.current_file_id.clone(), + module_name + ); + } + + Ok(()) + } + + fn extract_namespace_from_module(&self, module: &ParsedModule) -> Option { + // ASTからnamespace宣言を探して解析 + for node in &module.ast { + if let ASTNode::NamespaceDeclaration { name, body, .. } = node { + return Some(self.build_namespace_from_body(name, body)); + } + } + None + } +} +``` + +#### 4.2 qualified call実行 +```rust +impl NyashInterpreter { + pub fn execute_qualified_call(&mut self, path: &[String], args: &[ASTNode]) + -> Result, RuntimeError> { + + // 名前解決 + if let Some(method_sig) = self.namespace_registry.resolve_call( + &self.current_file_id, + path + ) { + // 引数評価 + let evaluated_args = self.evaluate_args(args)?; + + // メソッド実行(既存のBox呼び出しシステム活用) + return self.call_static_method(&method_sig, evaluated_args); + } + + // 完全修飾名として試行 + if path.len() >= 3 { + // nyashstd.string.upper() の場合 + let namespace_name = &path[0]; + let box_name = &path[1]; + let method_name = &path[2]; + + if let Some(namespace) = self.namespace_registry.namespaces.get(namespace_name) { + if let Some(static_box) = namespace.static_boxes.get(box_name) { + if let Some(method) = static_box.static_methods.get(method_name) { + let evaluated_args = self.evaluate_args(args)?; + return self.call_static_method(method, evaluated_args); + } + } + } + } + + Err(RuntimeError::UndefinedMethod(path.join("."))) + } +} +``` + +## 🧪 テスト戦略 + +### Phase 1テスト +```nyash +# test_basic_using.nyash +# 基本using文テスト + +# ファイル: mylib.nyash +static function hello() { + return "Hello from mylib!" +} + +# ファイル: main.nyash +using mylib +local result = mylib.hello() +assert(result == "Hello from mylib!") +``` + +### Phase 2テスト +```nyash +# test_nyash_link.nyash +# nyash.linkファイル連携テスト + +# nyash.link内容: +# [dependencies] +# mylib = { path = "./mylib.nyash" } + +using mylib +local result = mylib.process("data") +assert(result == "processed: data") +``` + +### Phase 3テスト +```nyash +# test_namespace.nyash +# 名前空間システムテスト + +# nyashstd.nyash: +# namespace nyashstd { +# static box string { +# static upper(str) { ... } +# } +# } + +using nyashstd +local result = string.upper("hello") +assert(result == "HELLO") + +# 完全修飾名 +local result2 = nyashstd.string.upper("world") +assert(result2 == "WORLD") +``` + +## 📊 実装マイルストーン + +### ✅ 完了条件 + +#### Phase 1 +- [ ] USING/NAMESPACE トークン認識 +- [ ] using文AST構築 +- [ ] 基本パーサーテスト通過 + +#### Phase 2 +- [ ] nyash.linkファイル読み込み +- [ ] 依存関係解決 +- [ ] モジュールキャッシュ機能 + +#### Phase 3 +- [ ] namespace宣言解析 +- [ ] 名前空間レジストリ動作 +- [ ] 静的メソッド解決 + +#### Phase 4 +- [ ] インタープリター統合 +- [ ] qualified call実行 +- [ ] 全テストケース通過 + +## 🔮 将来拡張 + +### Phase 5: 高度機能 +- エイリアス(`using mylib as lib`) +- 選択インポート(`using nyashstd.string`) +- 動的モジュール読み込み + +### Phase 6: 標準ライブラリ +- nyashstd.nyash完全実装 +- string/math/io/http モジュール +- ドキュメント生成 + +### Phase 7: エコシステム +- パッケージレジストリ設計 +- CLI ツール(nyash init/install) +- IDE Language Server連携 + +--- + +**🎯 この実装計画でnyash.linkシステムを段階的に完成させるにゃ!** \ No newline at end of file diff --git a/docs/予定/nyash.link/master-architecture.md b/docs/予定/nyash.link/master-architecture.md new file mode 100644 index 00000000..9386aa8f --- /dev/null +++ b/docs/予定/nyash.link/master-architecture.md @@ -0,0 +1,372 @@ +# なんでもAPI計画:最終統合アーキテクチャ + +## 🌟 革命的ビジョンの実現 + +### 📊 統合設計完了状況 +- ✅ **nyash.link基盤**: 依存関係管理システム設計完了 +- ✅ **FFI-ABI統合**: BID×MIR×バックエンド統合設計完了 +- ✅ **usingシステム**: 3種類API統一インポート設計完了 +- ✅ **実世界例**: ゲーム・データサイエンス・Web・システムプログラミング実証 +- 🎯 **最終統合**: 全システム統合による革命的開発体験実現 + +### 🚀 完成後の開発体験 +```nyash +# === たった一つの構文ですべてが使える === +using nyashstd # 組み込み標準ライブラリ +using browser_api # ブラウザAPI(Canvas, DOM, WebAudio...) +using system_api # システムAPI(libc, filesystem, network...) +using ml_api # 機械学習(TensorFlow, PyTorch, OpenCV...) +using game_api # ゲーム開発(SDL, OpenGL, Vulkan...) +using mylib # 自作Nyashモジュール + +# 全部同じ記法・同じパフォーマンス・同じエラーハンドリング! +string.upper("hello") # 組み込み標準 +browser.canvas.fillRect("game", 10, 10, 100, 100, "red") # ブラウザAPI +system.file.read("/etc/passwd") # システムAPI +ml.opencv.loadImage("photo.jpg") # 機械学習API +game.sdl.createWindow("Game", 800, 600) # ゲームAPI +mylib.processData("input") # 自作モジュール +``` + +## 🏗️ 最終統合アーキテクチャ + +### 1. 全体システム構成 +``` +┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ +│ Nyash Code │ │ nyash.link │ │ BID Files │ +│ │ │ │ │ │ +│ using browser_api│ │ [dependencies] │ │ browser_api: │ +│ using system_api │───▶│ browser_api = │───▶│ canvas.yaml │ +│ using mylib │ │ {bid=...} │ │ dom.yaml │ +│ canvas.fillRect │ │ system_api = │ │ system_api: │ +│ file.read │ │ {bid=...} │ │ libc.yaml │ +│ mylib.process │ │ mylib = {path} │ │ filesystem.yaml│ +└─────────────────┘ └─────────────────┘ └─────────────────┘ + │ │ │ + └────────────────────────┼────────────────────────┘ + ▼ + ┌─────────────────────────────────────────────────────────┐ + │ UniversalNamespaceRegistry │ + │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │ + │ │BuiltinStdlib│ │BidDefinition│ │ExternalModules │ │ + │ │ │ │ │ │ │ │ + │ │nyashstd.* │ │browser_api.*│ │mylib.* │ │ + │ │string.upper │ │canvas.fill* │ │custom functions │ │ + │ │math.sin │ │dom.events │ │ │ │ + │ │array.length │ │system.file* │ │ │ │ + │ └─────────────┘ └─────────────┘ └─────────────────┘ │ + └─────────────────────────────────────────────────────────┘ + │ + ▼ + ┌─────────────────────────────────────────────────────────┐ + │ MIR Generation │ + │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │ + │ │BuiltinCall │ │ExternCall │ │ModuleCall │ │ + │ │ │ │ │ │ │ │ + │ │string.upper │ │canvas.fill* │ │mylib.process │ │ + │ │effect:pure │ │effect:io │ │effect:io │ │ + │ │optimize:yes │ │gpu_accel:yes│ │ │ │ + │ └─────────────┘ └─────────────┘ └─────────────────┘ │ + └─────────────────────────────────────────────────────────┘ + │ + ▼ + ┌─────────────────────────────────────────────────────────┐ + │ Backend Execution │ + │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │ + │ │ VM │ │ WASM │ │ AOT │ │ + │ │ │ │ │ │ │ │ + │ │Native Impl │ │RuntimeImport│ │LLVM ExternFunc │ │ + │ │Stub Calls │ │Auto-generated│ │Native Libraries │ │ + │ │ │ │from BID │ │ │ │ + │ └─────────────┘ └─────────────┘ └─────────────────┘ │ + └─────────────────────────────────────────────────────────┘ +``` + +### 2. nyash.link統合仕様(最終版) +```toml +# nyash.link - 全API統一管理設定 +[project] +name = "ultimate-nyash-app" +version = "2.0.0" +description = "Everything is accessible through unified APIs" +license = "MIT" + +[dependencies] +# === 組み込み標準ライブラリ === +nyashstd = { builtin = true } + +# === ブラウザ・Web API === +browser_api = { + bid = ["./apis/canvas.yaml", "./apis/dom.yaml", "./apis/webaudio.yaml"], + target_environments = ["browser"] +} +webgl_api = { + bid = "./apis/webgl.yaml", + target_environments = ["browser"] +} + +# === システム・OS API === +system_api = { + bid = ["./apis/libc.yaml", "./apis/filesystem.yaml", "./apis/network.yaml"], + library = "system", + target_environments = ["linux", "macos", "windows"] +} +posix_api = { + bid = "./apis/posix.yaml", + library = "system", + target_environments = ["linux", "macos"] +} + +# === 機械学習・データサイエンス === +ml_api = { + bid = ["./apis/opencv.yaml", "./apis/numpy.yaml"], + library = ["./libs/opencv.so", "./libs/numpy.so"], + target_environments = ["linux", "macos"] +} +tensorflow_api = { + bid = "./apis/tensorflow.yaml", + library = "./libs/tensorflow.so", + optional = true # 環境によってオプション +} + +# === ゲーム開発 === +game_api = { + bid = ["./apis/sdl.yaml", "./apis/opengl.yaml"], + library = ["SDL2", "OpenGL"], + target_environments = ["linux", "macos", "windows"] +} + +# === データベース === +database_api = { + bid = ["./apis/sqlite.yaml", "./apis/postgresql.yaml"], + library = ["sqlite3", "pq"], +} + +# === ネットワーク・Web === +http_api = { + bid = "./apis/http_client.yaml", + library = "curl" +} + +# === Nyashモジュール(従来通り) === +mylib = { path = "./src/mylib.nyash" } +utils = { path = "./src/utils/" } +models = { path = "./src/models.nyash" } + +# === 将来の外部パッケージ === +awesome_lib = { + version = "^1.2.0", + registry = "nyash-pkg", + bid = "auto" # パッケージレジストリから自動取得 +} + +[build] +entry_point = "./src/main.nyash" +backends = ["vm", "wasm", "aot"] +optimization_level = "release" + +[targets] +browser = ["browser_api", "webgl_api"] +desktop = ["system_api", "game_api", "ml_api"] +server = ["system_api", "database_api", "http_api"] + +[optimization] +# MIRレベル最適化設定 +enable_effect_optimization = true +enable_batch_optimization = true # FFI-ABI呼び出しバッチ化 +enable_gpu_acceleration = true +cache_bid_compilation = true +``` + +### 3. BIDエコシステム(標準API集) +``` +nyash-std-apis/ # 標準APIライブラリ +├── browser/ +│ ├── canvas.yaml # Canvas API +│ ├── dom.yaml # DOM API +│ ├── webaudio.yaml # Web Audio API +│ ├── webgl.yaml # WebGL API +│ └── fetch.yaml # Fetch API +├── system/ +│ ├── libc.yaml # C標準ライブラリ +│ ├── filesystem.yaml # ファイルシステム +│ ├── network.yaml # ネットワーク +│ ├── process.yaml # プロセス管理 +│ └── threads.yaml # スレッド・並行処理 +├── ml/ +│ ├── opencv.yaml # コンピューターヴィジョン +│ ├── numpy.yaml # 数値計算 +│ ├── tensorflow.yaml # 機械学習 +│ └── pytorch.yaml # 深層学習 +├── game/ +│ ├── sdl.yaml # SDL2ライブラリ +│ ├── opengl.yaml # OpenGL API +│ ├── vulkan.yaml # Vulkan API +│ └── physics.yaml # 物理エンジン +├── database/ +│ ├── sqlite.yaml # SQLite +│ ├── postgresql.yaml # PostgreSQL +│ ├── mysql.yaml # MySQL +│ └── redis.yaml # Redis +└── crypto/ + ├── openssl.yaml # OpenSSL + ├── libsodium.yaml # libsodium + └── bcrypt.yaml # bcrypt +``` + +## 🚀 段階的実装戦略(現実的ロードマップ) + +### Phase 0: 基盤構築(2-3週間) +```rust +// 🎯 最小実装目標 +// using nyashstd → 動作 +``` + +#### **実装内容** +1. **USINGトークナイザー** - `TokenType::USING`追加 +2. **基本パーサー** - `using nyashstd`構文解析 +3. **BuiltinStdlib基盤** - 組み込み標準ライブラリ +4. **基本string関数** - upper, lower, split, join + +#### **テスト** +```nyash +using nyashstd +assert(string.upper("hello") == "HELLO") +``` + +### Phase 1: BID基盤(4-6週間) +```rust +// 🎯 外部API基盤目標 +// using console_api → 動作(VM Stub) +``` + +#### **実装内容** +1. **BID読み込み** - YAML解析・検証システム +2. **UniversalNamespaceRegistry** - 統合名前空間管理 +3. **MIR ExternCall統合** - BID→MIR変換 +4. **VM Stub実装** - console.log等の基本スタブ + +#### **テスト** +```nyash +using nyashstd +using console_api +string.upper("test") +console.log("BID integration works!") +``` + +### Phase 2: WASM統合(6-8週間) +```rust +// 🎯 WASM動作目標 +// ブラウザでCanvas API動作 +``` + +#### **実装内容** +1. **WASM RuntimeImports自動生成** - BID→WASM import +2. **文字列マーシャリング** - UTF-8 (ptr,len)対応 +3. **Canvas API完全実装** - fillRect, fillText等 +4. **ブラウザテスト環境** - HTML/JS統合 + +#### **テスト** +```nyash +using browser_api +canvas.fillRect("game-canvas", 10, 10, 100, 100, "red") +``` + +### Phase 3: システムAPI統合(8-12週間) +```rust +// 🎯 ネイティブライブラリ動作目標 +// ファイルI/O, システムコール等 +``` + +#### **実装内容** +1. **AOTバックエンド統合** - LLVM IR外部関数 +2. **システムライブラリ連携** - libc, filesystem等 +3. **エラーハンドリング統合** - 統一エラーモデル +4. **パフォーマンス最適化** - バッチ処理・GPU加速 + +#### **テスト** +```nyash +using system_api +local content = file.read("/etc/passwd") +file.write("./output.txt", content) +``` + +### Phase 4: 完全エコシステム(12-16週間) +```rust +// 🎯 実用的アプリケーション開発 +// ゲーム・ML・Webアプリ等 +``` + +#### **実装内容** +1. **標準APIライブラリ** - nyash-std-apis完成 +2. **パッケージレジストリ** - BID共有システム +3. **IDE Language Server** - 統合補完・エラー検出 +4. **最適化エンジン** - Effect System活用 + +#### **実用例** +```nyash +# 本格的なゲーム開発 +using game_api +using audio_api +game.sdl.createWindow("My Game", 1024, 768) +audio.mixer.playMusic("bgm.ogg") +``` + +## 📊 既存実装との整合性 + +### Phase 9.75eとの関係 +``` +Phase 9.75e (既存計画) なんでもAPI計画 (新設計) + ↓ ↓ +namespace構文 using統一構文 +依存関係システム → nyash.link統合管理 +外部ファイル読み込み → BID統合システム + ↓ + 完全統合アーキテクチャ +``` + +### 既存MIR/バックエンドとの統合 +- ✅ **MIR ExternCall**: 既存実装活用 +- ✅ **WASM RuntimeImports**: 既存基盤拡張 +- ✅ **VM Backend**: 既存スタブシステム活用 +- 🔧 **統合課題**: usingシステムとの橋渡し + +## 🌟 長期ビジョン:Nyashの未来 + +### 2025年目標 +- **Phase 0-1完了**: 基盤・BID統合 +- **実用アプリ**: シンプルなブラウザゲーム・ツール +- **コミュニティ**: 開発者コミュニティ形成 + +### 2026年目標 +- **Phase 2-3完了**: WASM・システムAPI統合 +- **本格アプリ**: ゲーム・データサイエンス・Webアプリ +- **エコシステム**: BIDライブラリエコシステム + +### 2027年目標 +- **Phase 4完了**: 完全エコシステム +- **産業利用**: 企業での実用的活用 +- **言語標準化**: BID標準の業界採用 + +## 🎯 即座に開始すべき実装 + +### 今日のアクション +1. **src/stdlib/mod.rs作成** - 組み込み標準ライブラリ基盤 +2. **TokenType::USING追加** - トークナイザー拡張 +3. **Phase 0実装開始** - using nyashstd基本動作 + +### 今週のアクション +4. **BuiltinStdlib::new()実装** - string関数4種 +5. **基本テスト作成** - using動作確認 +6. **Phase 1設計** - BID統合詳細設計 + +### 来週のアクション +7. **BID読み込み基盤** - YAML解析システム +8. **UniversalNamespaceRegistry** - 統合名前空間管理 +9. **console.log実装** - 最初のBID統合テスト + +--- + +**🎉 この最終統合アーキテクチャにより、Nyashが真に「なんでもできる」革命的プログラミング言語になるにゃ!** + +**🚀 今すぐPhase 0実装を開始して、プログラミング言語の未来を創造しよう!🐱✨** \ No newline at end of file diff --git a/docs/予定/nyash.link/minimal-stdlib-first.md b/docs/予定/nyash.link/minimal-stdlib-first.md new file mode 100644 index 00000000..0f9a1b74 --- /dev/null +++ b/docs/予定/nyash.link/minimal-stdlib-first.md @@ -0,0 +1,435 @@ +# 最小実装:標準関数優先namespace/usingシステム + +## 🎯 基本戦略:nyash.link前の段階的実装 + +### 📊 現状分析 +- **既存Box型**: 25種類以上の豊富なBox実装 +- **include使用**: 限定的(text_adventure例のみ) +- **using実装**: 完全未実装→新規作成可能 +- **最優先課題**: 複雑なファイル依存関係システムより、まず標準関数のIDE補完 + +### 🌟 段階的実装アプローチ + +#### **Phase 0: 組み込みnyashstd(最小実装)** +``` +ファイル読み込み一切なし → インタープリターに直接組み込み +``` + +#### **Phase 1: using構文** +```nyash +using nyashstd +string.upper("hello") # ✅ 動作 +``` + +#### **Phase 2: 将来のnyash.link対応** +``` +外部ファイル・依存関係システム(後日実装) +``` + +## 🏗️ 組み込みnyashstd設計 + +### 優先順位別Box分類 + +#### 🚨 **Tier 1: 最優先基本機能** +```rust +// 使用頻度最高・IDE補完必須 +- string_box.rs → nyashstd.string.* +- math_box.rs → nyashstd.math.* +- array/mod.rs → nyashstd.array.* +- console_box.rs → nyashstd.io.* +``` + +#### ⚡ **Tier 2: 重要機能** +```rust +// 標準的な機能 +- time_box.rs → nyashstd.time.* +- random_box.rs → nyashstd.random.* +- map_box.rs → nyashstd.map.* +``` + +#### 📝 **Tier 3: 特殊用途** +```rust +// 特定用途・後で追加 +- debug_box.rs → nyashstd.debug.* +- http_server_box.rs → nyashstd.http.* +- p2p_box.rs → nyashstd.p2p.* +``` + +### 最小実装スコープ(Phase 0) + +#### **nyashstd.string機能** +```nyash +using nyashstd + +string.upper("hello") # "HELLO" +string.lower("WORLD") # "world" +string.split("a,b,c", ",") # ["a", "b", "c"] +string.join(["a","b"], "-") # "a-b" +string.length("test") # 4 +``` + +#### **nyashstd.math機能** +```nyash +using nyashstd + +math.sin(3.14159) # 0.0 (approximately) +math.cos(0) # 1.0 +math.sqrt(16) # 4.0 +math.floor(3.7) # 3 +math.random() # 0.0-1.0のランダム値 +``` + +#### **nyashstd.array機能** +```nyash +using nyashstd + +array.length([1,2,3]) # 3 +array.push([1,2], 3) # [1,2,3] +array.get([1,2,3], 1) # 2 +array.slice([1,2,3,4], 1, 3) # [2,3] +``` + +#### **nyashstd.io機能** +```nyash +using nyashstd + +io.print("Hello") # コンソール出力 +io.println("World") # 改行付き出力 +io.debug("Debug info") # デバッグ出力 +``` + +## 💻 技術実装戦略 + +### 1. インタープリター組み込み方式 + +#### **新ファイル: `src/stdlib/mod.rs`** +```rust +//! 組み込み標準ライブラリ +//! nyash.linkなしで動作する基本的な標準関数群 + +use crate::boxes::*; +use std::collections::HashMap; + +pub struct BuiltinStdlib { + pub namespaces: HashMap, +} + +pub struct BuiltinNamespace { + pub name: String, + pub static_boxes: HashMap, +} + +pub struct BuiltinStaticBox { + pub name: String, + pub methods: HashMap, +} + +pub type BuiltinMethod = fn(&[Box]) -> Result, RuntimeError>; + +impl BuiltinStdlib { + pub fn new() -> Self { + let mut stdlib = BuiltinStdlib { + namespaces: HashMap::new(), + }; + + // nyashstd名前空間登録 + stdlib.register_nyashstd(); + + stdlib + } + + fn register_nyashstd(&mut self) { + let mut nyashstd = BuiltinNamespace { + name: "nyashstd".to_string(), + static_boxes: HashMap::new(), + }; + + // string static box + nyashstd.static_boxes.insert("string".to_string(), self.create_string_box()); + // math static box + nyashstd.static_boxes.insert("math".to_string(), self.create_math_box()); + // array static box + nyashstd.static_boxes.insert("array".to_string(), self.create_array_box()); + // io static box + nyashstd.static_boxes.insert("io".to_string(), self.create_io_box()); + + self.namespaces.insert("nyashstd".to_string(), nyashstd); + } +} +``` + +#### **文字列関数実装例** +```rust +impl BuiltinStdlib { + fn create_string_box(&self) -> BuiltinStaticBox { + let mut string_box = BuiltinStaticBox { + name: "string".to_string(), + methods: HashMap::new(), + }; + + // string.upper(str) -> String + string_box.methods.insert("upper".to_string(), |args| { + if args.len() != 1 { + return Err(RuntimeError::InvalidArguments( + "string.upper() takes exactly 1 argument".to_string() + )); + } + + let string_arg = args[0].to_string_box(); + let result = StringBox::new(&string_arg.value.to_uppercase()); + Ok(Box::new(result)) + }); + + // string.lower(str) -> String + string_box.methods.insert("lower".to_string(), |args| { + if args.len() != 1 { + return Err(RuntimeError::InvalidArguments( + "string.lower() takes exactly 1 argument".to_string() + )); + } + + let string_arg = args[0].to_string_box(); + let result = StringBox::new(&string_arg.value.to_lowercase()); + Ok(Box::new(result)) + }); + + // string.split(str, separator) -> Array + string_box.methods.insert("split".to_string(), |args| { + if args.len() != 2 { + return Err(RuntimeError::InvalidArguments( + "string.split() takes exactly 2 arguments".to_string() + )); + } + + let string_arg = args[0].to_string_box(); + let sep_arg = args[1].to_string_box(); + + let string_box = StringBox::new(&string_arg.value); + let result = string_box.split(&sep_arg.value)?; + Ok(result) + }); + + string_box + } +} +``` + +### 2. インタープリター統合 + +#### **インタープリター拡張: `src/interpreter/core.rs`** +```rust +use crate::stdlib::BuiltinStdlib; + +pub struct NyashInterpreter { + // 既存フィールド... + pub builtin_stdlib: BuiltinStdlib, + pub using_imports: HashMap>, // ファイル別インポート +} + +impl NyashInterpreter { + pub fn new() -> Self { + NyashInterpreter { + // 既存初期化... + builtin_stdlib: BuiltinStdlib::new(), + using_imports: HashMap::new(), + } + } + + // using文実行 + pub fn execute_using(&mut self, namespace_name: &str) -> Result<(), RuntimeError> { + // 組み込み名前空間かチェック + if self.builtin_stdlib.namespaces.contains_key(namespace_name) { + // 現在ファイルのインポートリストに追加 + self.using_imports + .entry(self.current_file_id.clone()) + .or_insert_with(Vec::new) + .push(namespace_name.to_string()); + + Ok(()) + } else { + Err(RuntimeError::UndefinedNamespace(namespace_name.to_string())) + } + } + + // 短縮名解決: string.upper() -> nyashstd.string.upper() + pub fn resolve_short_call(&self, box_name: &str, method_name: &str) + -> Option<(&str, &str, &str)> { // (namespace, box, method) + + if let Some(imports) = self.using_imports.get(&self.current_file_id) { + for namespace_name in imports { + if let Some(namespace) = self.builtin_stdlib.namespaces.get(namespace_name) { + if namespace.static_boxes.contains_key(box_name) { + return Some((namespace_name, box_name, method_name)); + } + } + } + } + + None + } + + // 組み込み関数呼び出し + pub fn call_builtin_method(&self, namespace: &str, box_name: &str, method_name: &str, args: Vec>) + -> Result, RuntimeError> { + + if let Some(ns) = self.builtin_stdlib.namespaces.get(namespace) { + if let Some(static_box) = ns.static_boxes.get(box_name) { + if let Some(method) = static_box.methods.get(method_name) { + return method(&args); + } + } + } + + Err(RuntimeError::UndefinedMethod( + format!("{}.{}.{}", namespace, box_name, method_name) + )) + } +} +``` + +### 3. パーサー最小拡張 + +#### **トークナイザー: `src/tokenizer.rs`** +```rust +pub enum TokenType { + // 既存... + USING, // using キーワード + // NAMESPACE は後のPhaseで追加 +} +``` + +#### **AST最小拡張: `src/ast.rs`** +```rust +pub enum ASTNode { + // 既存... + UsingStatement { + namespace_name: String, // "nyashstd" のみ対応 + span: Span, + }, + // QualifiedCall は後のPhaseで追加 +} +``` + +#### **パーサー: `src/parser/statements.rs`** +```rust +impl NyashParser { + pub fn parse_using(&mut self) -> Result { + self.advance(); // consume 'using' + + if let TokenType::IDENTIFIER(namespace_name) = &self.current_token().token_type { + let name = namespace_name.clone(); + self.advance(); + + // Phase 0では "nyashstd" のみ許可 + if name != "nyashstd" { + return Err(ParseError::UnsupportedNamespace(name)); + } + + Ok(ASTNode::UsingStatement { + namespace_name: name, + span: self.current_span(), + }) + } else { + Err(ParseError::ExpectedIdentifier) + } + } +} +``` + +## 🧪 テスト戦略 + +### Phase 0テストケース + +#### **基本using文テスト** +```nyash +# test_using_basic.nyash +using nyashstd + +local result = string.upper("hello") +assert(result == "HELLO") + +local lower = string.lower("WORLD") +assert(lower == "world") +``` + +#### **数学関数テスト** +```nyash +# test_math_basic.nyash +using nyashstd + +local sin_result = math.sin(0) +assert(sin_result == 0) + +local sqrt_result = math.sqrt(16) +assert(sqrt_result == 4) +``` + +#### **配列操作テスト** +```nyash +# test_array_basic.nyash +using nyashstd + +local arr = [1, 2, 3] +local length = array.length(arr) +assert(length == 3) + +local item = array.get(arr, 1) +assert(item == 2) +``` + +## 📊 実装マイルストーン + +### ✅ Phase 0完了条件 +- [ ] USING トークン認識 +- [ ] using nyashstd 構文解析 +- [ ] 組み込みnyashstd.string実装 +- [ ] 組み込みnyashstd.math実装 +- [ ] 組み込みnyashstd.array実装 +- [ ] 組み込みnyashstd.io実装 +- [ ] 基本テストケース全通過 + +### 🔮 将来の発展 + +#### **Phase 1: 完全修飾名対応** +```nyash +# using不要でも使える +nyashstd.string.upper("hello") +``` + +#### **Phase 2: namespace構文対応** +```nyash +# 組み込み以外の名前空間 +namespace mylib { + static box utils { + static process(data) { ... } + } +} +``` + +#### **Phase 3: nyash.link統合** +```toml +# nyash.link +[dependencies] +mylib = { path = "./mylib.nyash" } +``` + +## 🎯 実装優先順位 + +### 🚨 Critical(今すぐ) +1. **USINGトークナイザー** - Token::USING追加 +2. **using文パーサー** - "using nyashstd"解析 +3. **BuiltinStdlib基盤** - src/stdlib/mod.rs作成 + +### ⚡ High(今週中) +4. **string関数実装** - upper, lower, split, join +5. **math関数実装** - sin, cos, sqrt, floor +6. **基本テスト** - using nyashstd動作確認 + +### 📝 Medium(来週) +7. **array関数実装** - length, get, push, slice +8. **io関数実装** - print, println, debug +9. **エラーハンドリング** - 適切なエラーメッセージ + +--- + +**🎉 この戦略なら複雑なファイル依存関係システムなしで、すぐに実用的なnamespace/usingが実現できるにゃ!🐱** \ No newline at end of file diff --git a/docs/予定/nyash.link/real-world-examples.md b/docs/予定/nyash.link/real-world-examples.md new file mode 100644 index 00000000..fec4b111 --- /dev/null +++ b/docs/予定/nyash.link/real-world-examples.md @@ -0,0 +1,625 @@ +# なんでもAPI計画:実世界での具体例 + +## 🌟 革命的開発体験の実例 + +### 🎮 ゲーム開発例:Nyashブラウザゲーム +```nyash +# === nyash.link === +[dependencies] +nyashstd = { builtin = true } +canvas_api = { bid = "./apis/canvas.yaml" } +dom_api = { bid = "./apis/dom.yaml" } +audio_api = { bid = "./apis/webaudio.yaml" } + +# === game.nyash === +using nyashstd +using canvas_api +using dom_api +using audio_api + +static box Game { + init { canvas_id, score, player_x, player_y, enemies } + + main() { + me.canvas_id = "game-canvas" + me.score = 0 + me.player_x = 200 + me.player_y = 300 + me.enemies = new ArrayBox() + + # DOMイベント設定(FFI-ABI経由) + dom.addEventListener("keydown", me.handleKeyDown) + + # ゲームループ開始 + me.gameLoop() + } + + gameLoop() { + loop(true) { + me.update() + me.render() + + # ブラウザのrequestAnimationFrame(FFI-ABI) + dom.requestAnimationFrame(me.gameLoop) + } + } + + update() { + # 敵の移動(組み込み標準ライブラリ) + local i = 0 + loop(i < array.length(me.enemies)) { + local enemy = array.get(me.enemies, i) + enemy.y = enemy.y + enemy.speed + i = i + 1 + } + + # 当たり判定(組み込み数学関数) + local distance = math.sqrt( + math.pow(me.player_x - enemy.x, 2) + + math.pow(me.player_y - enemy.y, 2) + ) + + if distance < 30 { + me.gameOver() + } + } + + render() { + # 画面クリア(Canvas API - FFI-ABI) + canvas.fillRect(me.canvas_id, 0, 0, 800, 600, "black") + + # プレイヤー描画 + canvas.fillRect(me.canvas_id, me.player_x, me.player_y, 20, 20, "blue") + + # 敵描画 + local i = 0 + loop(i < array.length(me.enemies)) { + local enemy = array.get(me.enemies, i) + canvas.fillRect(me.canvas_id, enemy.x, enemy.y, 15, 15, "red") + i = i + 1 + } + + # スコア表示 + local score_text = "Score: " + string.toString(me.score) + canvas.fillText(me.canvas_id, score_text, 10, 30, "20px Arial", "white") + } + + handleKeyDown(event) { + # キーボード入力処理(DOM API経由) + local key = dom.getEventKey(event) + + if key == "ArrowLeft" { + me.player_x = me.player_x - 10 + } else if key == "ArrowRight" { + me.player_x = me.player_x + 10 + } else if key == " " { # スペースキー + me.shoot() + } + } + + shoot() { + # 効果音再生(Web Audio API - FFI-ABI) + audio.playSound("shoot.wav") + + # 弾の生成・発射処理 + # ... + } + + gameOver() { + # ゲームオーバー処理 + audio.playSound("gameover.wav") + dom.alert("Game Over! Score: " + string.toString(me.score)) + } +} +``` + +### 🔬 データサイエンス例:画像処理アプリ +```nyash +# === nyash.link === +[dependencies] +nyashstd = { builtin = true } +opencv_api = { bid = "./apis/opencv.yaml", library = "./libs/opencv.so" } +numpy_api = { bid = "./apis/numpy.yaml", library = "./libs/numpy.so" } +matplotlib_api = { bid = "./apis/matplotlib.yaml", library = "./libs/matplotlib.so" } +file_api = { bid = "./apis/file.yaml" } + +# === image_processor.nyash === +using nyashstd +using opencv_api +using numpy_api +using matplotlib_api +using file_api + +static box ImageProcessor { + init { input_path, output_path, processed_data } + + main() { + me.input_path = "./images/input.jpg" + me.output_path = "./images/output.jpg" + + # 画像読み込み(OpenCV - FFI-ABI) + local image = opencv.imread(me.input_path) + + # 前処理 + local gray = opencv.cvtColor(image, "BGR2GRAY") + local blurred = opencv.gaussianBlur(gray, 5, 5) + + # エッジ検出 + local edges = opencv.canny(blurred, 50, 150) + + # NumPy配列操作(NumPy - FFI-ABI) + local edge_array = numpy.fromOpenCV(edges) + local normalized = numpy.normalize(edge_array, 0, 255) + + # 統計計算(組み込み標準ライブラリ) + local edge_count = me.countEdgePixels(normalized) + local percentage = (edge_count * 100) / (image.width * image.height) + + # 結果表示 + io.println("Edge pixels: " + string.toString(edge_count)) + io.println("Edge percentage: " + string.toString(percentage) + "%") + + # 結果画像保存(OpenCV) + opencv.imwrite(me.output_path, edges) + + # グラフ生成(Matplotlib - FFI-ABI) + me.generateHistogram(normalized) + } + + countEdgePixels(image_array) { + local count = 0 + local height = numpy.shape(image_array, 0) + local width = numpy.shape(image_array, 1) + + local y = 0 + loop(y < height) { + local x = 0 + loop(x < width) { + local pixel = numpy.get(image_array, y, x) + if pixel > 0 { + count = count + 1 + } + x = x + 1 + } + y = y + 1 + } + + return count + } + + generateHistogram(image_array) { + # ヒストグラム計算(NumPy) + local histogram = numpy.histogram(image_array, 256) + + # グラフ描画(Matplotlib) + matplotlib.figure(800, 600) + matplotlib.plot(histogram.bins, histogram.values) + matplotlib.title("Edge Pixel Histogram") + matplotlib.xlabel("Pixel Intensity") + matplotlib.ylabel("Frequency") + matplotlib.savefig("./images/histogram.png") + matplotlib.show() + } +} +``` + +### 🌐 Webサーバー例:RESTful API +```nyash +# === nyash.link === +[dependencies] +nyashstd = { builtin = true } +http_server_api = { bid = "./apis/http_server.yaml" } +sqlite_api = { bid = "./apis/sqlite.yaml", library = "./libs/sqlite.so" } +json_api = { bid = "./apis/json.yaml" } +crypto_api = { bid = "./apis/crypto.yaml", library = "./libs/openssl.so" } + +# === api_server.nyash === +using nyashstd +using http_server_api +using sqlite_api +using json_api +using crypto_api + +static box ApiServer { + init { server, database, port } + + main() { + me.port = 8080 + me.server = http_server.create() + me.database = sqlite.open("./data/app.db") + + # データベース初期化 + me.initDatabase() + + # ルート設定 + http_server.route(me.server, "GET", "/api/users", me.getUsers) + http_server.route(me.server, "POST", "/api/users", me.createUser) + http_server.route(me.server, "PUT", "/api/users/:id", me.updateUser) + http_server.route(me.server, "DELETE", "/api/users/:id", me.deleteUser) + + # サーバー開始 + io.println("Server starting on port " + string.toString(me.port)) + http_server.listen(me.server, me.port) + } + + initDatabase() { + local sql = "CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + email TEXT UNIQUE NOT NULL, + password_hash TEXT NOT NULL, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP + )" + + sqlite.exec(me.database, sql) + } + + getUsers(request, response) { + # クエリ実行(SQLite - FFI-ABI) + local sql = "SELECT id, name, email, created_at FROM users" + local results = sqlite.query(me.database, sql) + + # JSON変換(JSON API - FFI-ABI) + local json_response = json.stringify(results) + + # レスポンス送信(HTTP Server API) + http_server.setHeader(response, "Content-Type", "application/json") + http_server.setStatus(response, 200) + http_server.send(response, json_response) + } + + createUser(request, response) { + # リクエストボディ解析 + local body = http_server.getBody(request) + local user_data = json.parse(body) + + # バリデーション(組み込み標準ライブラリ) + if string.length(user_data.name) < 2 { + me.sendError(response, 400, "Name must be at least 2 characters") + return + } + + if not me.isValidEmail(user_data.email) { + me.sendError(response, 400, "Invalid email format") + return + } + + # パスワードハッシュ化(Crypto API - FFI-ABI) + local password_hash = crypto.hashPassword(user_data.password) + + # データベース挿入 + local sql = "INSERT INTO users (name, email, password_hash) VALUES (?, ?, ?)" + local params = [user_data.name, user_data.email, password_hash] + + try { + local user_id = sqlite.insert(me.database, sql, params) + + # 作成されたユーザー情報を返す + local created_user = map.create() + map.set(created_user, "id", user_id) + map.set(created_user, "name", user_data.name) + map.set(created_user, "email", user_data.email) + + local json_response = json.stringify(created_user) + + http_server.setHeader(response, "Content-Type", "application/json") + http_server.setStatus(response, 201) + http_server.send(response, json_response) + + } catch error { + io.println("Database error: " + error.message) + me.sendError(response, 500, "Failed to create user") + } + } + + isValidEmail(email) { + # 簡単なメール検証(組み込み文字列関数) + local at_pos = string.indexOf(email, "@") + local dot_pos = string.lastIndexOf(email, ".") + + return at_pos > 0 and dot_pos > at_pos and dot_pos < string.length(email) - 1 + } + + sendError(response, status, message) { + local error_obj = map.create() + map.set(error_obj, "error", message) + + local json_error = json.stringify(error_obj) + + http_server.setHeader(response, "Content-Type", "application/json") + http_server.setStatus(response, status) + http_server.send(response, json_error) + } +} +``` + +### 🔧 システムプログラミング例:ファイル監視ツール +```nyash +# === nyash.link === +[dependencies] +nyashstd = { builtin = true } +libc_api = { bid = "./apis/libc.yaml", library = "system" } +inotify_api = { bid = "./apis/inotify.yaml", library = "system" } +filesystem_api = { bid = "./apis/filesystem.yaml" } + +# === file_monitor.nyash === +using nyashstd +using libc_api +using inotify_api +using filesystem_api + +static box FileMonitor { + init { watch_path, inotify_fd, watch_descriptors, callbacks } + + main() { + me.watch_path = "./watched_directory" + me.watch_descriptors = new ArrayBox() + me.callbacks = map.create() + + # inotify初期化(Linux inotify - FFI-ABI) + me.inotify_fd = inotify.init() + + if me.inotify_fd < 0 { + io.println("Failed to initialize inotify") + return + } + + # ディレクトリ監視設定 + me.addWatch(me.watch_path) + + # コールバック設定 + me.setupCallbacks() + + io.println("File monitor started. Watching: " + me.watch_path) + + # メインループ + me.eventLoop() + } + + addWatch(path) { + # 監視フラグ(inotify constants) + local flags = inotify.IN_CREATE or inotify.IN_DELETE or + inotify.IN_MODIFY or inotify.IN_MOVED_FROM or + inotify.IN_MOVED_TO + + local wd = inotify.addWatch(me.inotify_fd, path, flags) + + if wd >= 0 { + array.push(me.watch_descriptors, wd) + io.println("Added watch for: " + path) + } else { + io.println("Failed to add watch for: " + path) + } + } + + setupCallbacks() { + # ファイル作成コールバック + map.set(me.callbacks, "CREATE", static function(event) { + io.println("File created: " + event.name) + + # ファイル情報取得(Filesystem API) + local file_info = filesystem.stat(event.path) + local size = file_info.size + local permissions = file_info.permissions + + io.println(" Size: " + string.toString(size) + " bytes") + io.println(" Permissions: " + permissions) + }) + + # ファイル変更コールバック + map.set(me.callbacks, "MODIFY", static function(event) { + io.println("File modified: " + event.name) + + # 変更時刻記録 + local timestamp = time.now() + local formatted_time = time.format(timestamp, "%Y-%m-%d %H:%M:%S") + io.println(" Modified at: " + formatted_time) + }) + + # ファイル削除コールバック + map.set(me.callbacks, "DELETE", static function(event) { + io.println("File deleted: " + event.name) + + # ログファイルに記録 + me.logEvent("DELETE", event.name, time.now()) + }) + } + + eventLoop() { + local buffer_size = 4096 + local buffer = libc.malloc(buffer_size) + + loop(true) { + # inotify eventsを読み取り(blocking read) + local bytes_read = libc.read(me.inotify_fd, buffer, buffer_size) + + if bytes_read > 0 { + me.processEvents(buffer, bytes_read) + } else if bytes_read == 0 { + # EOF + break + } else { + # エラー + local error_code = libc.errno() + io.println("Read error: " + string.toString(error_code)) + break + } + } + + libc.free(buffer) + } + + processEvents(buffer, bytes_read) { + local offset = 0 + + loop(offset < bytes_read) { + # inotify_event構造体解析(libc memory operations) + local event = inotify.parseEvent(buffer, offset) + + # イベントタイプ判定 + local event_type = me.getEventType(event.mask) + + # 対応するコールバック実行 + if map.has(me.callbacks, event_type) { + local callback = map.get(me.callbacks, event_type) + callback(event) + } + + # 次のイベントへ + offset = offset + event.size + } + } + + getEventType(mask) { + if mask and inotify.IN_CREATE { + return "CREATE" + } else if mask and inotify.IN_MODIFY { + return "MODIFY" + } else if mask and inotify.IN_DELETE { + return "DELETE" + } else if mask and inotify.IN_MOVED_FROM { + return "MOVE_FROM" + } else if mask and inotify.IN_MOVED_TO { + return "MOVE_TO" + } else { + return "UNKNOWN" + } + } + + logEvent(event_type, filename, timestamp) { + local log_entry = time.format(timestamp, "%Y-%m-%d %H:%M:%S") + + " [" + event_type + "] " + filename + "\n" + + # ログファイルに追記(Filesystem API) + filesystem.appendFile("./file_monitor.log", log_entry) + } +} +``` + +## 📊 MIR同時拡張による最適化効果 + +### 🚀 最適化前後の比較 + +#### **従来の実装(最適化なし)** +```mir +; 非効率:毎回関数呼び出し +%1 = ExternCall env.canvas.fillRect ["canvas", 10, 10, 100, 100, "red"] +%2 = ExternCall env.canvas.fillRect ["canvas", 110, 10, 100, 100, "blue"] +%3 = ExternCall env.canvas.fillRect ["canvas", 220, 10, 100, 100, "green"] +``` + +#### **MIR最適化後(バッチ処理)** +```mir +; 効率化:バッチ処理 +%rects = ArrayConstruct [ + {x: 10, y: 10, w: 100, h: 100, color: "red"}, + {x: 110, y: 10, w: 100, h: 100, color: "blue"}, + {x: 220, y: 10, w: 100, h: 100, color: "green"} +] +%1 = ExternCall env.canvas.fillRectBatch ["canvas", %rects] +``` + +#### **Effect Systemによる並列化** +```mir +; pure関数は並列実行可能 +%1 = BuiltinCall string.upper ["hello"] ; effect: pure +%2 = BuiltinCall math.sin [3.14] ; effect: pure +%3 = BuiltinCall string.lower ["WORLD"] ; effect: pure +; ↑ これらは並列実行される + +%4 = ExternCall env.console.log [%1] ; effect: io +%5 = ExternCall env.console.log [%2] ; effect: io +; ↑ これらは順序保持される +``` + +### 🎯 バックエンド別最適化 + +#### **WASM最適化** +```wasm +;; BIDから自動生成された最適化WASM +(func $optimized_canvas_batch + (param $canvas_id i32) (param $canvas_id_len i32) + (param $rects_ptr i32) (param $rect_count i32) + + ;; ループ展開による高速化 + (local $i i32) + (local $rect_ptr i32) + + loop $rect_loop + ;; 直接メモリアクセス(境界チェック済み) + local.get $rect_ptr + i32.load ;; x + local.get $rect_ptr + i32.load offset=4 ;; y + ;; ... 高速描画処理 + + local.get $rect_ptr + i32.const 20 + i32.add + local.set $rect_ptr + + local.get $i + i32.const 1 + i32.add + local.tee $i + local.get $rect_count + i32.lt_u + br_if $rect_loop + end +) +``` + +#### **AOT最適化(LLVM IR)** +```llvm +; LLVM IRレベルでの最適化 +define void @optimized_image_processing(i8* %image_data, i32 %width, i32 %height) { +entry: + ; ベクトル化された画像処理 + %0 = bitcast i8* %image_data to <16 x i8>* + + ; SIMD命令による並列処理 + br label %loop.header + +loop.header: + %i = phi i32 [ 0, %entry ], [ %i.next, %loop.body ] + %cmp = icmp ult i32 %i, %height + br i1 %cmp, label %loop.body, label %exit + +loop.body: + ; 16ピクセル同時処理(AVX2/NEON活用) + %pixel_ptr = getelementptr <16 x i8>, <16 x i8>* %0, i32 %i + %pixels = load <16 x i8>, <16 x i8>* %pixel_ptr + + ; ベクトル化されたエッジ検出 + %edges = call <16 x i8> @vectorized_edge_detection(<16 x i8> %pixels) + + store <16 x i8> %edges, <16 x i8>* %pixel_ptr + + %i.next = add i32 %i, 1 + br label %loop.header + +exit: + ret void +} +``` + +## 🌟 革命的効果 + +### 🚀 開発者体験の向上 +- **学習コスト**: 一つの構文ですべてのAPIが使える +- **IDE統合**: 全APIの統一補完・エラー検出 +- **デバッグ**: 統一エラーモデルによる一貫したデバッグ体験 + +### ⚡ パフォーマンス向上 +- **MIRレベル最適化**: すべてのAPIで同じ最適化技術 +- **Effect System**: 安全な並列化・順序最適化 +- **バックエンド最適化**: WASM/AOT固有の最適化 + +### 🌍 エコシステム拡大 +- **ライブラリ統合**: 既存C/Rustライブラリの簡単統合 +- **クロスプラットフォーム**: 同じコードが全環境で動作 +- **標準化**: BIDによる外部API標準化 + +--- + +**🎉 これが「なんでもAPI計画」の真の実力だにゃ!あらゆる開発が統一された美しい構文で実現できるにゃ!🚀🐱** \ No newline at end of file diff --git a/docs/予定/nyash.link/universal-api-integration.md b/docs/予定/nyash.link/universal-api-integration.md new file mode 100644 index 00000000..a6dfdbab --- /dev/null +++ b/docs/予定/nyash.link/universal-api-integration.md @@ -0,0 +1,563 @@ +# なんでもAPI計画:nyash.link × FFI-ABI × MIR 統合設計 + +## 🌟 革命的統合ビジョン + +### 📊 現状把握 +- ✅ **nyash.linkシステム**: 標準関数・モジュール管理設計完了 +- ✅ **FFI-ABI仕様**: BID(Box Interface Definition)による外部API統一 +- ✅ **MIR ExternCall**: 外部関数呼び出しのMIRレベル実装 +- 🎯 **統合目標**: 3つのシステムを統合し「なんでもAPI」を実現 + +### 🚀 統合後の開発体験 +```nyash +# === 単一のusing構文ですべてが使える! === +using nyashstd # 組み込み標準ライブラリ +using console_api # ブラウザConsole API (FFI-ABI) +using canvas_api # Canvas API (FFI-ABI) +using opencv_api # OpenCV外部ライブラリ (FFI-ABI) +using mylib # 自作Nyashモジュール + +# 全部同じ記法で使える! +string.upper("hello") # 組み込み標準ライブラリ +console.log("Hello Nyash!") # ブラウザAPI +canvas.fillRect("game", 10, 10, 80, 60, "red") # Canvas API +opencv.loadImage("photo.jpg") # 外部ライブラリ +mylib.processData("input") # 自作モジュール +``` + +## 🏗️ 統合アーキテクチャ設計 + +### 1. 拡張nyash.link仕様 + +#### **依存関係タイプの統合** +```toml +# nyash.link - 全API統一管理 +[project] +name = "awesome-nyash-app" +version = "1.0.0" + +[dependencies] +# === 組み込み標準ライブラリ === +nyashstd = { builtin = true } + +# === FFI-ABI経由外部API === +console_api = { bid = "./apis/console.yaml" } +canvas_api = { bid = "./apis/canvas.yaml" } +webgl_api = { bid = "./apis/webgl.yaml" } +dom_api = { bid = "./apis/dom.yaml" } + +# === システムライブラリ === +libc = { bid = "./apis/libc.yaml", library = "system" } +math_lib = { bid = "./apis/math.yaml", library = "libm" } + +# === 外部共有ライブラリ === +opencv = { bid = "./apis/opencv.yaml", library = "./libs/opencv.so" } +sqlite = { bid = "./apis/sqlite.yaml", library = "./libs/sqlite.so" } + +# === Nyashモジュール(従来通り) === +mylib = { path = "./src/mylib.nyash" } +utils = { path = "./src/utils.nyash" } +models = { path = "./src/models/" } + +# === 将来の外部パッケージ === +# http_client = { version = "1.0.0", registry = "nyash-pkg" } + +[build] +entry_point = "./src/main.nyash" +backends = ["vm", "wasm", "aot"] # 対象バックエンド指定 +``` + +#### **BIDファイル例** +```yaml +# apis/console.yaml - Console API定義 +version: 0 +metadata: + name: "Browser Console API" + description: "Standard browser console interface" + target_environments: ["browser", "node"] + +interfaces: + - name: console_api.console + box: Console + namespace: console_api + methods: + - name: log + params: [ {string: message} ] + returns: void + effect: io + description: "Output message to console" + + - name: warn + params: [ {string: message} ] + returns: void + effect: io + + - name: error + params: [ {string: message} ] + returns: void + effect: io + +# apis/canvas.yaml - Canvas API定義 +version: 0 +interfaces: + - name: canvas_api.canvas + box: Canvas + namespace: canvas_api + methods: + - name: fillRect + params: + - {string: canvas_id} + - {i32: x} + - {i32: y} + - {i32: width} + - {i32: height} + - {string: color} + returns: void + effect: io + + - name: fillText + params: + - {string: canvas_id} + - {string: text} + - {i32: x} + - {i32: y} + - {string: font} + - {string: color} + returns: void + effect: io +``` + +### 2. 統合名前空間レジストリ + +#### **UniversalNamespaceRegistry設計** +```rust +// 新ファイル: src/registry/universal.rs +use crate::stdlib::BuiltinStdlib; +use crate::bid::BidDefinition; +use crate::module::ExternalModule; + +pub struct UniversalNamespaceRegistry { + /// 組み込み標準ライブラリ + builtin: Arc, + + /// FFI-ABI経由の外部API + ffi_apis: HashMap>, + + /// Nyashモジュール + nyash_modules: HashMap>, + + /// using imports(ファイル別) + using_imports: Arc>>, +} + +#[derive(Debug, Clone)] +pub struct UsingContext { + pub builtin_imports: Vec, // ["nyashstd"] + pub ffi_imports: Vec, // ["console_api", "canvas_api"] + pub module_imports: Vec, // ["mylib", "utils"] + pub file_id: String, +} + +impl UniversalNamespaceRegistry { + pub fn new(nyash_link: &NyashLink) -> Result { + let mut registry = UniversalNamespaceRegistry { + builtin: Arc::new(BuiltinStdlib::new()), + ffi_apis: HashMap::new(), + nyash_modules: HashMap::new(), + using_imports: Arc::new(RwLock::new(HashMap::new())), + }; + + // nyash.linkからFFI-ABI定義読み込み + registry.load_ffi_apis(nyash_link)?; + + // Nyashモジュール読み込み + registry.load_nyash_modules(nyash_link)?; + + Ok(registry) + } + + /// 統合using文処理 + pub fn execute_using(&mut self, namespace_name: &str, file_id: &str) + -> Result<(), RuntimeError> { + + let context = self.using_imports + .write().unwrap() + .entry(file_id.to_string()) + .or_insert_with(|| UsingContext { + builtin_imports: Vec::new(), + ffi_imports: Vec::new(), + module_imports: Vec::new(), + file_id: file_id.to_string(), + }); + + // 組み込み標準ライブラリ + if self.builtin.has_namespace(namespace_name) { + if !context.builtin_imports.contains(&namespace_name.to_string()) { + context.builtin_imports.push(namespace_name.to_string()); + } + return Ok(()); + } + + // FFI-ABI API + if self.ffi_apis.contains_key(namespace_name) { + if !context.ffi_imports.contains(&namespace_name.to_string()) { + context.ffi_imports.push(namespace_name.to_string()); + } + return Ok(()); + } + + // Nyashモジュール + if self.nyash_modules.contains_key(namespace_name) { + if !context.module_imports.contains(&namespace_name.to_string()) { + context.module_imports.push(namespace_name.to_string()); + } + return Ok(()); + } + + Err(RuntimeError::UndefinedNamespace(namespace_name.to_string())) + } + + /// 統合関数解決 + pub fn resolve_call(&self, file_id: &str, path: &[String]) + -> Result { + + if path.len() != 2 { + return Err(RuntimeError::InvalidQualifiedName(path.join("."))); + } + + let box_name = &path[0]; + let method_name = &path[1]; + + if let Ok(imports) = self.using_imports.read() { + if let Some(context) = imports.get(file_id) { + + // 1. 組み込み標準ライブラリ検索 + for namespace in &context.builtin_imports { + if let Some(target) = self.builtin.resolve_call(namespace, box_name, method_name) { + return Ok(CallTarget::Builtin(target)); + } + } + + // 2. FFI-ABI API検索 + for namespace in &context.ffi_imports { + if let Some(bid) = self.ffi_apis.get(namespace) { + if let Some(target) = bid.resolve_method(box_name, method_name) { + return Ok(CallTarget::FfiAbi(target)); + } + } + } + + // 3. Nyashモジュール検索 + for namespace in &context.module_imports { + if let Some(module) = self.nyash_modules.get(namespace) { + if let Some(target) = module.resolve_method(box_name, method_name) { + return Ok(CallTarget::NyashModule(target)); + } + } + } + } + } + + Err(RuntimeError::UndefinedMethod(format!("{}.{}", box_name, method_name))) + } +} + +#[derive(Debug)] +pub enum CallTarget { + Builtin(BuiltinMethodTarget), + FfiAbi(FfiMethodTarget), + NyashModule(NyashMethodTarget), +} +``` + +### 3. MIRレベル統合 + +#### **MIR命令拡張** +```rust +// src/mir/instruction.rs拡張 +#[derive(Debug, Clone)] +pub enum MirInstruction { + // 既存命令... + + // === 統合関数呼び出し === + + /// 組み込み標準ライブラリ呼び出し + BuiltinCall { + target: String, // "string.upper" + args: Vec, + result: ValueId, + effect: Effect, + }, + + /// FFI-ABI外部API呼び出し + ExternCall { + interface: String, // "console_api.console" + method: String, // "log" + args: Vec, + result: Option, + effect: Effect, + bid_signature: BidMethodSignature, + }, + + /// Nyashモジュール関数呼び出し + ModuleCall { + module: String, // "mylib" + function: String, // "processData" + args: Vec, + result: ValueId, + effect: Effect, + }, +} + +#[derive(Debug, Clone)] +pub enum Effect { + Pure, // 副作用なし、並び替え可能 + Mut, // 同リソース内で順序保持 + Io, // プログラム順序保持 + Control, // 制御フロー影響 +} +``` + +#### **MIR生成統合** +```rust +// src/mir/builder.rs拡張 +impl MirBuilder { + pub fn build_unified_call(&mut self, target: CallTarget, args: Vec) + -> Result { + + match target { + CallTarget::Builtin(builtin_target) => { + let result = self.new_value_id(); + self.emit(MirInstruction::BuiltinCall { + target: builtin_target.qualified_name(), + args, + result, + effect: builtin_target.effect(), + }); + Ok(result) + }, + + CallTarget::FfiAbi(ffi_target) => { + let result = if ffi_target.returns_void() { + None + } else { + Some(self.new_value_id()) + }; + + self.emit(MirInstruction::ExternCall { + interface: ffi_target.interface_name(), + method: ffi_target.method_name(), + args, + result, + effect: ffi_target.effect(), + bid_signature: ffi_target.signature().clone(), + }); + + result.ok_or(MirError::VoidReturn) + }, + + CallTarget::NyashModule(module_target) => { + let result = self.new_value_id(); + self.emit(MirInstruction::ModuleCall { + module: module_target.module_name(), + function: module_target.function_name(), + args, + result, + effect: Effect::Io, // デフォルト + }); + Ok(result) + }, + } + } +} +``` + +### 4. バックエンド統合実装 + +#### **VM実行統合** +```rust +// src/backend/vm.rs拡張 +impl VmBackend { + pub fn execute_instruction(&mut self, instr: &MirInstruction) + -> Result<(), VmError> { + + match instr { + MirInstruction::BuiltinCall { target, args, result, .. } => { + let evaluated_args = self.evaluate_args(args)?; + let output = self.builtin_executor.call(target, evaluated_args)?; + self.set_value(*result, output); + Ok(()) + }, + + MirInstruction::ExternCall { interface, method, args, result, bid_signature, .. } => { + // VM環境ではスタブ実装 + let evaluated_args = self.evaluate_args(args)?; + let output = self.extern_stub.call(interface, method, evaluated_args, bid_signature)?; + if let Some(res_id) = result { + self.set_value(*res_id, output); + } + Ok(()) + }, + + MirInstruction::ModuleCall { module, function, args, result, .. } => { + let evaluated_args = self.evaluate_args(args)?; + let output = self.module_executor.call(module, function, evaluated_args)?; + self.set_value(*result, output); + Ok(()) + }, + + // 既存命令処理... + } + } +} +``` + +#### **WASM生成統合** +```rust +// src/backend/wasm/codegen.rs拡張 +impl WasmCodegen { + pub fn generate_instruction(&mut self, instr: &MirInstruction) + -> Result<(), WasmError> { + + match instr { + MirInstruction::BuiltinCall { target, args, result, .. } => { + // 組み込み関数は直接実装 + self.generate_builtin_call(target, args, *result) + }, + + MirInstruction::ExternCall { interface, method, args, bid_signature, .. } => { + // BIDから自動生成されたWASM import呼び出し + let import_name = format!("{}_{}", + interface.replace(".", "_"), + method + ); + + self.generate_extern_call(&import_name, args, bid_signature) + }, + + MirInstruction::ModuleCall { module, function, args, result, .. } => { + // 内部関数呼び出し + let function_name = format!("{}_{}", module, function); + self.generate_function_call(&function_name, args, *result) + }, + } + } + + /// BIDからWASM RuntimeImports自動生成 + pub fn generate_runtime_imports(&mut self, bid_definitions: &[BidDefinition]) + -> Result { + + let mut imports = String::new(); + + for bid in bid_definitions { + for interface in &bid.interfaces { + for method in &interface.methods { + let import_name = format!("{}_{}", + interface.name.replace(".", "_"), + method.name + ); + + let signature = self.bid_to_wasm_signature(&method.params, &method.returns)?; + imports.push_str(&format!( + "(import \"env\" \"{}\" {})\n", + import_name, signature + )); + } + } + } + + Ok(imports) + } +} +``` + +#### **AOT生成統合** +```rust +// src/backend/aot/compiler.rs拡張 +impl AotCompiler { + pub fn compile_instruction(&mut self, instr: &MirInstruction) + -> Result<(), AotError> { + + match instr { + MirInstruction::ExternCall { interface, method, args, bid_signature, .. } => { + // LLVM IR外部関数宣言生成 + let extern_func_name = format!("{}_{}", + interface.replace(".", "_"), + method + ); + + let signature = self.bid_to_llvm_signature(bid_signature)?; + self.declare_external_function(&extern_func_name, &signature)?; + self.generate_call(&extern_func_name, args)?; + + Ok(()) + }, + + // その他の命令処理... + } + } +} +``` + +## 🎯 段階的実装戦略 + +### Phase 0: 基盤統合(2-3週間) +1. **UniversalNamespaceRegistry実装** - 全API統一管理 +2. **nyash.link拡張** - BID依存関係サポート +3. **統合using文** - 3種類のAPI統一インポート + +### Phase 1: FFI-ABI統合(3-4週間) +1. **BID読み込み機能** - YAML解析・検証 +2. **MIR ExternCall統合** - FFI-ABI→MIR変換 +3. **WASM RuntimeImports自動生成** - BID→WASM import + +### Phase 2: 完全統合(4-6週間) +1. **全バックエンド対応** - VM/WASM/AOT統合実装 +2. **エラーハンドリング統合** - 統一エラーモデル +3. **パフォーマンス最適化** - 高速名前解決 + +## 🧪 統合テスト戦略 + +### 基本統合テスト +```nyash +# test_universal_integration.nyash +using nyashstd +using console_api +using mylib + +# 3種類のAPIが同じように使える +assert(string.upper("test") == "TEST") # 組み込み +console.log("Integration test successful") # FFI-ABI +assert(mylib.process("data") == "processed") # Nyash +``` + +### FFI-ABI統合テスト +```nyash +# test_ffi_abi_integration.nyash +using canvas_api + +# Canvas API経由での描画 +canvas.fillRect("game-canvas", 10, 10, 100, 100, "red") +canvas.fillText("game-canvas", "Score: 100", 10, 30, "16px Arial", "white") +``` + +## 🌟 期待される革命的効果 + +### 🚀 開発者体験 +- **統一API**: 組み込み・外部・自作すべて同じ書き方 +- **IDE補完**: すべてのAPIが`ny`で補完される +- **エラー処理**: 統一エラーモデルで一貫性 + +### 🏗️ アーキテクチャ +- **MIRレベル統合**: 全バックエンドで同じパフォーマンス最適化 +- **Effect System**: pure/mut/io/controlによる安全性保証 +- **言語非依存**: BIDによる外部ライブラリ標準化 + +### 🌍 エコシステム +- **なんでもAPI**: あらゆる外部ライブラリがNyashから使える +- **バックエンド統一**: 同じコードがVM/WASM/AOTで動作 +- **将来拡張**: パッケージレジストリでBID共有 + +--- + +**🎉 この統合設計で、Nyashが真に「なんでもできる」モダン言語になるにゃ!🚀🐱** \ No newline at end of file diff --git a/docs/説明書/reference/box-design/phase-9-75d-migration-plan.md b/docs/説明書/reference/box-design/phase-9-75d-migration-plan.md deleted file mode 100644 index afac4b30..00000000 --- a/docs/説明書/reference/box-design/phase-9-75d-migration-plan.md +++ /dev/null @@ -1,392 +0,0 @@ -# 🚀 Phase 9.75D 段階的移行計画 - -## 📅 移行期間: 2025-08-15 〜 2025-08-22 (7日間) -## 🎯 目標: clone_box() vs share_box() 責務分離完全実装 - -## 📋 **移行フェーズ概要** - -| フェーズ | 期間 | 内容 | リスク | -|---------|------|------|-------| -| **Phase A** | 1日 | 基盤整備・トレイト拡張 | 低 | -| **Phase B** | 2日 | ArrayBox修正・コアテスト | 中 | -| **Phase C** | 2日 | 主要ステートフルBox展開 | 中 | -| **Phase D** | 1日 | バックエンド横展開 | 高 | -| **Phase E** | 1日 | 残りBox・最終検証 | 低 | - -## 🔧 **Phase A: 基盤整備 (Day 1)** - -### **目標**: コンパイル可能な基盤構築 - -### **A1: NyashBoxトレイト拡張** -**ファイル**: `src/boxes/traits.rs` - -```rust -// 追加するメソッド -trait NyashBox: Send + Sync + BoxCore + DynClone + Any { - // ... 既存メソッド ... - - /// 状態を共有する新しいハンドルを作成 - /// 変数アクセス・代入時に使用 - fn share_box(&self) -> Box; -} -``` - -### **A2: 全Box型への仮実装追加** -**対象ファイル**: 以下の20個のBox実装 -``` -src/boxes/array/mod.rs ← 最重要 -src/boxes/map_box.rs -src/boxes/string_box.rs -src/boxes/integer_box.rs -src/boxes/bool_box.rs -src/boxes/socket_box.rs -src/boxes/p2p_box.rs -src/boxes/file/mod.rs -src/boxes/stream/mod.rs -src/boxes/http_server_box.rs -src/boxes/simple_intent_box.rs -src/boxes/intent_box.rs -src/boxes/egui_box.rs -src/boxes/random_box.rs -src/boxes/debug_box.rs -src/boxes/future/mod.rs -src/boxes/json/mod.rs -src/boxes/http/mod.rs -src/boxes/regex/mod.rs -src/boxes/buffer/mod.rs -``` - -**仮実装コード**: -```rust -impl NyashBox for XxxBox { - // ... 既存メソッド ... - - /// 仮実装: clone_boxと同じ(後で正しく修正) - fn share_box(&self) -> Box { - self.clone_box() - } -} -``` - -### **A3: コンパイル確認** -```bash -cargo check --lib -cargo build --lib -j32 -``` - -**完了条件**: 全ての型チェックエラーが解消され、コンパイル成功 - ---- - -## 🎯 **Phase B: ArrayBox修正・コアテスト (Day 2-3)** - -### **目標**: 状態保持問題の直接解決 - -### **B1: ArrayBox構造体修正** -**ファイル**: `src/boxes/array/mod.rs` - -```rust -// 現在の構造体 -pub struct ArrayBox { - pub items: RwLock>>, - base: BoxBase, -} - -// 修正後の構造体 -pub struct ArrayBox { - pub items: Arc>>>, // Arc追加 - base: BoxBase, -} -``` - -### **B2: ArrayBox::new()修正** -```rust -impl ArrayBox { - pub fn new() -> Self { - ArrayBox { - items: Arc::new(RwLock::new(Vec::new())), // Arc::new追加 - base: BoxBase::new(), - } - } - - pub fn new_with_elements(elements: Vec>) -> Self { - ArrayBox { - items: Arc::new(RwLock::new(elements)), // Arc::new追加 - base: BoxBase::new(), - } - } -} -``` - -### **B3: ArrayBox::share_box()正しい実装** -```rust -impl NyashBox for ArrayBox { - fn share_box(&self) -> Box { - let new_instance = ArrayBox { - items: Arc::clone(&self.items), // 🎯 状態共有 - base: BoxBase::new(), // 新しいID - }; - Box::new(new_instance) - } -} -``` - -### **B4: ArrayBox::Clone修正** -```rust -impl Clone for ArrayBox { - fn clone(&self) -> Self { - let items_guard = self.items.read().unwrap(); - let cloned_items: Vec> = items_guard.iter() - .map(|item| item.clone_box()) - .collect(); - - ArrayBox { - items: Arc::new(RwLock::new(cloned_items)), // 新しいArc - base: BoxBase::new(), - } - } -} -``` - -### **B5: インタープリター修正** -**ファイル**: `src/interpreter/expressions.rs` - -```rust -// Line 108周辺 -ASTNode::Variable { name, .. } => { - let shared_var = self.resolve_variable(name)?; - Ok((*shared_var).share_box()) // clone_box() → share_box() -} - -// 他のclone_box()呼び出し箇所も確認・修正 -``` - -### **B6: 状態保持テスト追加** -**ファイル**: `tests/array_state_sharing_test.rs` (新規作成) - -```rust -#[test] -fn test_arraybox_state_sharing_after_push() { - // 問題再現テスト - let mut interpreter = Interpreter::new(); - let program = r#" - arr = new ArrayBox() - arr.push("hello") - result = arr.length() - "#; - - let result = interpreter.execute_program(program).unwrap(); - // 1を返すことを確認(0ではない) - assert_eq!(extract_integer(result), 1); -} - -#[test] -fn test_arraybox_share_vs_clone() { - let arr1 = ArrayBox::new(); - arr1.push(StringBox::new("hello")); - - // share_box: 状態共有 - let arr2 = arr1.share_box(); - let arr2_array = arr2.as_any().downcast_ref::().unwrap(); - assert_eq!(arr2_array.len(), 1); - - // clone_box: 独立 - let arr3 = arr1.clone_box(); - let arr3_array = arr3.as_any().downcast_ref::().unwrap(); - arr1.push(StringBox::new("world")); - assert_eq!(arr3_array.len(), 1); // 影響なし -} -``` - -### **B7: テスト実行・修正** -```bash -cargo test array_state_sharing_test -./target/debug/nyash tests/array_debug.nyash -``` - -**完了条件**: ArrayBoxの状態保持が正常に動作することを確認 - ---- - -## 📈 **Phase C: 主要ステートフルBox展開 (Day 4-5)** - -### **目標**: 利用頻度の高いステートフルBox修正 - -### **C1: 優先順位リスト** -1. **MapBox** - コレクション系、使用頻度大 -2. **SocketBox** - 既知の状態保持問題 -3. **P2PBox** - 複雑な状態管理 -4. **FileBox** - I/O状態管理 -5. **StreamBox** - バッファ状態 - -### **C2: MapBox修正** -**ファイル**: `src/boxes/map_box.rs` - -現在の構造確認→Arc追加→share_box()実装→テスト - -### **C3: SocketBox修正** -**ファイル**: `src/boxes/socket_box.rs` - -既知の状態保持問題(is_server)を根本解決 - -### **C4: 各Box修正パターン** -```rust -// 共通パターン -pub struct XxxBox { - pub state_field: Arc>, // Arc追加 - base: BoxBase, -} - -impl NyashBox for XxxBox { - fn share_box(&self) -> Box { - let new_instance = XxxBox { - state_field: Arc::clone(&self.state_field), - base: BoxBase::new(), - }; - Box::new(new_instance) - } -} -``` - -### **C5: 段階的テスト** -各Box修正後に個別テスト実行 - -**完了条件**: 主要5個のステートフルBoxで状態保持が正常動作 - ---- - -## 🌐 **Phase D: バックエンド横展開 (Day 6)** - -### **目標**: VM・WASMでの一貫性確保 - -### **D1: VM Backend確認** -**ファイル**: `src/backend/vm.rs` - -```bash -# clone_box()呼び出し箇所を検索 -grep -n "clone_box" src/backend/vm.rs -``` - -**Line 764周辺**: 配列要素アクセスの意図確認 -- 値コピーが必要→`clone_box()`維持 -- 参照共有が適切→`share_box()`に修正 - -### **D2: WASM Backend確認** -**ファイル**: `src/backend/wasm/` - -WASMの独自メモリ管理での`clone_box()`使用状況確認 - -### **D3: バックエンド別テスト** -```bash -# VM実行テスト -./target/release/nyash --backend vm tests/array_debug.nyash - -# WASM実行テスト -./target/release/nyash --backend wasm tests/array_debug.nyash -``` - -**完了条件**: 3バックエンド全てで一貫した動作確認 - ---- - -## 🎯 **Phase E: 残りBox・最終検証 (Day 7)** - -### **目標**: 完全修正・リグレッション確認 - -### **E1: 残りステートフルBox修正** -- HTTPServerBox, IntentBox, SimpleIntentBox -- EguiBox, RandomBox, DebugBox -- FutureBox, JSONBox, BufferBox - -### **E2: 全体テスト実行** -```bash -# 基本機能テスト -cargo test - -# 実用アプリテスト -./target/release/nyash app_dice_rpg.nyash -./target/release/nyash app_statistics.nyash - -# 性能テスト -./target/release/nyash --benchmark --iterations 100 -``` - -### **E3: 性能確認** -- WASM: 13.5倍高速化維持 -- VM: 20.4倍高速化維持 -- インタープリター: 状態保持正常化 - -### **E4: ドキュメント更新** -- `CURRENT_TASK.md`: Phase 9.75D完了報告 -- `clone-box-vs-share-box-design.md`: 実装結果反映 - -**完了条件**: 全テスト通過・性能維持・ドキュメント完備 - ---- - -## 🚨 **リスク管理** - -### **Phase A リスク (低)** -- **コンパイルエラー**: 仮実装で対応済み -- **対策**: 段階的なトレイト追加 - -### **Phase B リスク (中)** -- **ArrayBox破壊**: 既存機能への影響 -- **対策**: 詳細なunit test、段階的修正 - -### **Phase C リスク (中)** -- **複数Box同時破壊**: 相互依存の問題 -- **対策**: 1個ずつ修正・テスト - -### **Phase D リスク (高)** -- **バックエンド非互換**: VM・WASMでの動作不一致 -- **対策**: 各バックエンドでの詳細テスト - -### **Phase E リスク (低)** -- **パフォーマンス劣化**: Arcオーバーヘッド -- **対策**: ベンチマークでの詳細測定 - ---- - -## 📊 **進捗追跡** - -### **Daily Check List** - -**Day 1 (Phase A)**: -- [ ] NyashBoxトレイト拡張 -- [ ] 20個のBox型仮実装追加 -- [ ] cargo check成功 - -**Day 2-3 (Phase B)**: -- [ ] ArrayBox構造体修正 -- [ ] share_box()正しい実装 -- [ ] インタープリター修正 -- [ ] 状態保持テスト追加・通過 - -**Day 4-5 (Phase C)**: -- [ ] MapBox修正完了 -- [ ] SocketBox修正完了 -- [ ] P2PBox, FileBox, StreamBox修正完了 - -**Day 6 (Phase D)**: -- [ ] VM Backend確認・修正 -- [ ] WASM Backend確認・修正 -- [ ] 3バックエンド一貫性確認 - -**Day 7 (Phase E)**: -- [ ] 残り10個のBox修正完了 -- [ ] 全テスト通過 -- [ ] 性能ベンチマーク確認 -- [ ] ドキュメント更新 - ---- - -## 🎉 **成功条件** - -1. **機能正常性**: ArrayBoxの状態保持問題が完全解決 -2. **一貫性**: 3バックエンド全てで同じセマンティクス -3. **性能維持**: WASM 13.5倍、VM 20.4倍高速化維持 -4. **互換性**: 既存のNyashプログラムが正常動作 -5. **拡張性**: 新しいBox型追加時のガイドライン確立 - -**Phase 9.75D完了により、Nyashの状態管理が根本的に安定化し、Phase 9.5以降の開発が安心して進行可能になる。** \ No newline at end of file diff --git a/libtest_syntax.rlib b/libtest_syntax.rlib deleted file mode 100644 index 101bc938..00000000 Binary files a/libtest_syntax.rlib and /dev/null differ diff --git a/debug_socket.nyash b/local_tests/debug_socket.nyash similarity index 100% rename from debug_socket.nyash rename to local_tests/debug_socket.nyash diff --git a/demo_phase9_51_fixes.nyash b/local_tests/demo_phase9_51_fixes.nyash similarity index 100% rename from demo_phase9_51_fixes.nyash rename to local_tests/demo_phase9_51_fixes.nyash diff --git a/http_server_demo.nyash b/local_tests/http_server_demo.nyash similarity index 100% rename from http_server_demo.nyash rename to local_tests/http_server_demo.nyash diff --git a/http_server_simple.nyash b/local_tests/http_server_simple.nyash similarity index 100% rename from http_server_simple.nyash rename to local_tests/http_server_simple.nyash diff --git a/kilo_editor.nyash b/local_tests/kilo_editor.nyash similarity index 100% rename from kilo_editor.nyash rename to local_tests/kilo_editor.nyash diff --git a/kilo_simple_test.nyash b/local_tests/kilo_simple_test.nyash similarity index 100% rename from kilo_simple_test.nyash rename to local_tests/kilo_simple_test.nyash diff --git a/memory_demo.nyash b/local_tests/memory_demo.nyash similarity index 100% rename from memory_demo.nyash rename to local_tests/memory_demo.nyash diff --git a/memory_stress_test.nyash b/local_tests/memory_stress_test.nyash similarity index 100% rename from memory_stress_test.nyash rename to local_tests/memory_stress_test.nyash diff --git a/phase6_demo.nyash b/local_tests/phase6_demo.nyash similarity index 100% rename from phase6_demo.nyash rename to local_tests/phase6_demo.nyash diff --git a/simple_demo.nyash b/local_tests/simple_demo.nyash similarity index 100% rename from simple_demo.nyash rename to local_tests/simple_demo.nyash diff --git a/simple_mir_test.nyash b/local_tests/simple_mir_test.nyash similarity index 100% rename from simple_mir_test.nyash rename to local_tests/simple_mir_test.nyash diff --git a/local_tests/simple_test.nyash b/local_tests/simple_test.nyash index 553ba6b4..074f28f1 100644 --- a/local_tests/simple_test.nyash +++ b/local_tests/simple_test.nyash @@ -1 +1 @@ -print("Simple test") \ No newline at end of file +static box Main { main() { return 42 } } diff --git a/test_aot.nyash b/local_tests/test_aot.nyash similarity index 100% rename from test_aot.nyash rename to local_tests/test_aot.nyash diff --git a/test_arc_fix.nyash b/local_tests/test_arc_fix.nyash similarity index 100% rename from test_arc_fix.nyash rename to local_tests/test_arc_fix.nyash diff --git a/test_arc_mutex_bug.nyash b/local_tests/test_arc_mutex_bug.nyash similarity index 100% rename from test_arc_mutex_bug.nyash rename to local_tests/test_arc_mutex_bug.nyash diff --git a/test_arc_sharing.nyash b/local_tests/test_arc_sharing.nyash similarity index 100% rename from test_arc_sharing.nyash rename to local_tests/test_arc_sharing.nyash diff --git a/test_arithmetic.nyash b/local_tests/test_arithmetic.nyash similarity index 100% rename from test_arithmetic.nyash rename to local_tests/test_arithmetic.nyash diff --git a/test_array_debug.nyash b/local_tests/test_array_debug.nyash similarity index 100% rename from test_array_debug.nyash rename to local_tests/test_array_debug.nyash diff --git a/test_array_length_fix.nyash b/local_tests/test_array_length_fix.nyash similarity index 100% rename from test_array_length_fix.nyash rename to local_tests/test_array_length_fix.nyash diff --git a/test_array_state_issue.nyash b/local_tests/test_array_state_issue.nyash similarity index 100% rename from test_array_state_issue.nyash rename to local_tests/test_array_state_issue.nyash diff --git a/test_async_simple.nyash b/local_tests/test_async_simple.nyash similarity index 100% rename from test_async_simple.nyash rename to local_tests/test_async_simple.nyash diff --git a/test_basic_sharing.nyash b/local_tests/test_basic_sharing.nyash similarity index 100% rename from test_basic_sharing.nyash rename to local_tests/test_basic_sharing.nyash diff --git a/test_basic_wasm.nyash b/local_tests/test_basic_wasm.nyash similarity index 100% rename from test_basic_wasm.nyash rename to local_tests/test_basic_wasm.nyash diff --git a/test_birth_simple.nyash b/local_tests/test_birth_simple.nyash similarity index 100% rename from test_birth_simple.nyash rename to local_tests/test_birth_simple.nyash diff --git a/local_tests/test_box_creation.nyash b/local_tests/test_box_creation.nyash index 7bbfec05..2bfc42d5 100644 --- a/local_tests/test_box_creation.nyash +++ b/local_tests/test_box_creation.nyash @@ -1,35 +1,14 @@ -// 🧪 新Box作成テスト - メソッド呼び出しなし +box SimpleBox { + init { value } + + pack(v) { + me.value = v + } +} -print("=== New Box Creation Test ===") - -// 📊 BufferBox Test -print("🔹 Creating BufferBox...") -local buffer -buffer = new BufferBox() -print("✅ BufferBox created successfully!") - -// 🔍 RegexBox Test -print("🔹 Creating RegexBox...") -local regex -regex = new RegexBox("[0-9]+") -print("✅ RegexBox created successfully!") - -// 📋 JSONBox Test -print("🔹 Creating JSONBox...") -local json -json = new JSONBox("{\"name\": \"test\"}") -print("✅ JSONBox created successfully!") - -// 🌊 StreamBox Test -print("🔹 Creating StreamBox...") -local stream -stream = new StreamBox() -print("✅ StreamBox created successfully!") - -// 🌐 HTTPClientBox Test -print("🔹 Creating HTTPClientBox...") -local http -http = new HTTPClientBox() -print("✅ HTTPClientBox created successfully!") - -print("\n🎉 All Arc Boxes created successfully!") \ No newline at end of file +static box Main { + main() { + local obj = new SimpleBox(100) + return 200 + } +} \ No newline at end of file diff --git a/test_box_id_sharing.nyash b/local_tests/test_box_id_sharing.nyash similarity index 100% rename from test_box_id_sharing.nyash rename to local_tests/test_box_id_sharing.nyash diff --git a/test_boxcall_fix.nyash b/local_tests/test_boxcall_fix.nyash similarity index 100% rename from test_boxcall_fix.nyash rename to local_tests/test_boxcall_fix.nyash diff --git a/test_buffer_simple.nyash b/local_tests/test_buffer_simple.nyash similarity index 100% rename from test_buffer_simple.nyash rename to local_tests/test_buffer_simple.nyash diff --git a/test_c_app_port_validation.nyash b/local_tests/test_c_app_port_validation.nyash similarity index 100% rename from test_c_app_port_validation.nyash rename to local_tests/test_c_app_port_validation.nyash diff --git a/test_chip8_fini_simple.nyash b/local_tests/test_chip8_fini_simple.nyash similarity index 100% rename from test_chip8_fini_simple.nyash rename to local_tests/test_chip8_fini_simple.nyash diff --git a/test_complete_socketbox_fix.nyash b/local_tests/test_complete_socketbox_fix.nyash similarity index 100% rename from test_complete_socketbox_fix.nyash rename to local_tests/test_complete_socketbox_fix.nyash diff --git a/test_comprehensive_fixes.nyash b/local_tests/test_comprehensive_fixes.nyash similarity index 100% rename from test_comprehensive_fixes.nyash rename to local_tests/test_comprehensive_fixes.nyash diff --git a/test_debug_clone_state.nyash b/local_tests/test_debug_clone_state.nyash similarity index 100% rename from test_debug_clone_state.nyash rename to local_tests/test_debug_clone_state.nyash diff --git a/test_debug_socket_trace.nyash b/local_tests/test_debug_socket_trace.nyash similarity index 100% rename from test_debug_socket_trace.nyash rename to local_tests/test_debug_socket_trace.nyash diff --git a/test_delegation_basic.nyash b/local_tests/test_delegation_basic.nyash similarity index 100% rename from test_delegation_basic.nyash rename to local_tests/test_delegation_basic.nyash diff --git a/test_detailed_debug.nyash b/local_tests/test_detailed_debug.nyash similarity index 100% rename from test_detailed_debug.nyash rename to local_tests/test_detailed_debug.nyash diff --git a/test_direct_clone.nyash b/local_tests/test_direct_clone.nyash similarity index 100% rename from test_direct_clone.nyash rename to local_tests/test_direct_clone.nyash diff --git a/test_direct_extern.nyash b/local_tests/test_direct_extern.nyash similarity index 100% rename from test_direct_extern.nyash rename to local_tests/test_direct_extern.nyash diff --git a/test_extern_call_demo.nyash b/local_tests/test_extern_call_demo.nyash similarity index 100% rename from test_extern_call_demo.nyash rename to local_tests/test_extern_call_demo.nyash diff --git a/test_field_access.nyash b/local_tests/test_field_access.nyash similarity index 100% rename from test_field_access.nyash rename to local_tests/test_field_access.nyash diff --git a/test_field_arc_sharing.nyash b/local_tests/test_field_arc_sharing.nyash similarity index 100% rename from test_field_arc_sharing.nyash rename to local_tests/test_field_arc_sharing.nyash diff --git a/test_field_mir.nyash b/local_tests/test_field_mir.nyash similarity index 100% rename from test_field_mir.nyash rename to local_tests/test_field_mir.nyash diff --git a/test_field_operations.nyash b/local_tests/test_field_operations.nyash similarity index 100% rename from test_field_operations.nyash rename to local_tests/test_field_operations.nyash diff --git a/test_final_validation.nyash b/local_tests/test_final_validation.nyash similarity index 100% rename from test_final_validation.nyash rename to local_tests/test_final_validation.nyash diff --git a/test_http_server_basic.nyash b/local_tests/test_http_server_basic.nyash similarity index 100% rename from test_http_server_basic.nyash rename to local_tests/test_http_server_basic.nyash diff --git a/test_http_server_real.nyash b/local_tests/test_http_server_real.nyash similarity index 100% rename from test_http_server_real.nyash rename to local_tests/test_http_server_real.nyash diff --git a/test_kilo_memory_simple.nyash b/local_tests/test_kilo_memory_simple.nyash similarity index 100% rename from test_kilo_memory_simple.nyash rename to local_tests/test_kilo_memory_simple.nyash diff --git a/test_local_vars.nyash b/local_tests/test_local_vars.nyash similarity index 100% rename from test_local_vars.nyash rename to local_tests/test_local_vars.nyash diff --git a/test_me_field_fix.nyash b/local_tests/test_me_field_fix.nyash similarity index 100% rename from test_me_field_fix.nyash rename to local_tests/test_me_field_fix.nyash diff --git a/test_minimal_no_methods.nyash b/local_tests/test_minimal_no_methods.nyash similarity index 100% rename from test_minimal_no_methods.nyash rename to local_tests/test_minimal_no_methods.nyash diff --git a/test_minimal_socket.nyash b/local_tests/test_minimal_socket.nyash similarity index 100% rename from test_minimal_socket.nyash rename to local_tests/test_minimal_socket.nyash diff --git a/test_mir_nowait.nyash b/local_tests/test_mir_nowait.nyash similarity index 100% rename from test_mir_nowait.nyash rename to local_tests/test_mir_nowait.nyash diff --git a/test_mir_object.nyash b/local_tests/test_mir_object.nyash similarity index 100% rename from test_mir_object.nyash rename to local_tests/test_mir_object.nyash diff --git a/local_tests/test_mir_simple.nyash b/local_tests/test_mir_simple.nyash index 637e94bf..ed90bee5 100644 --- a/local_tests/test_mir_simple.nyash +++ b/local_tests/test_mir_simple.nyash @@ -1,6 +1,9 @@ -/*! - * Simple test for basic MIR functionality - */ - -// A simple Nyash program for testing MIR compilation -print(42 + 10) \ No newline at end of file +// Simple MIR test +static box Main { + main() { + local result + result = 42 + 8 + print(result) + return result + } +} \ No newline at end of file diff --git a/test_modulo_operator_fix.nyash b/local_tests/test_modulo_operator_fix.nyash similarity index 100% rename from test_modulo_operator_fix.nyash rename to local_tests/test_modulo_operator_fix.nyash diff --git a/test_modulo_simple.nyash b/local_tests/test_modulo_simple.nyash similarity index 100% rename from test_modulo_simple.nyash rename to local_tests/test_modulo_simple.nyash diff --git a/test_multiple_stateful_boxes.nyash b/local_tests/test_multiple_stateful_boxes.nyash similarity index 100% rename from test_multiple_stateful_boxes.nyash rename to local_tests/test_multiple_stateful_boxes.nyash diff --git a/test_no_isserver.nyash b/local_tests/test_no_isserver.nyash similarity index 100% rename from test_no_isserver.nyash rename to local_tests/test_no_isserver.nyash diff --git a/test_normal_field.nyash b/local_tests/test_normal_field.nyash similarity index 100% rename from test_normal_field.nyash rename to local_tests/test_normal_field.nyash diff --git a/test_null_literal_support.nyash b/local_tests/test_null_literal_support.nyash similarity index 100% rename from test_null_literal_support.nyash rename to local_tests/test_null_literal_support.nyash diff --git a/test_numeric_wasm.nyash b/local_tests/test_numeric_wasm.nyash similarity index 100% rename from test_numeric_wasm.nyash rename to local_tests/test_numeric_wasm.nyash diff --git a/local_tests/test_nyashstd.nyash b/local_tests/test_nyashstd.nyash new file mode 100644 index 00000000..aba17fbb --- /dev/null +++ b/local_tests/test_nyashstd.nyash @@ -0,0 +1,26 @@ +// Nyash標準ライブラリテスト +// Phase 0: using nyashstd 基本機能 + +using nyashstd + +local result +result = string.create("Hello World") +print(result) + +local upper_result +upper_result = string.upper(result) +print(upper_result) + +local number +number = integer.create(42) +print(number) + +local flag +flag = bool.create(true) +print(flag) + +local arr +arr = array.create() +print(arr) + +console.log("✅ using nyashstd test completed!") \ No newline at end of file diff --git a/local_tests/test_nyashstd_extension.nyash b/local_tests/test_nyashstd_extension.nyash new file mode 100644 index 00000000..424f36ca --- /dev/null +++ b/local_tests/test_nyashstd_extension.nyash @@ -0,0 +1,34 @@ +// nyashstd拡張テスト - 基本型作成関数 + +using nyashstd + +static box Main { + main() { + print("🌟 nyashstd拡張テスト開始") + + // 既存のstring.upper()テスト + local text = string.upper("hello") + print("string.upper(): " + text) + + // 新機能: string.create()テスト + local created_string = string.create("created text") + print("string.create(): " + created_string) + + // 新機能: integer.create()テスト + local num = integer.create(42) + print("integer.create(): " + num) + + // 新機能: bool.create()テスト + local flag = bool.create(true) + print("bool.create(): " + flag) + + // 新機能: array.create()テスト + local arr = array.create() + print("array.create(): " + arr) + + // 新機能: console.log()テスト + console.log("Hello from console.log()!") + + print("✅ nyashstd拡張テスト完了") + } +} \ No newline at end of file diff --git a/test_other_box_comparison.nyash b/local_tests/test_other_box_comparison.nyash similarity index 100% rename from test_other_box_comparison.nyash rename to local_tests/test_other_box_comparison.nyash diff --git a/test_other_boxes_quick.nyash b/local_tests/test_other_boxes_quick.nyash similarity index 100% rename from test_other_boxes_quick.nyash rename to local_tests/test_other_boxes_quick.nyash diff --git a/test_other_boxes_working.nyash b/local_tests/test_other_boxes_working.nyash similarity index 100% rename from test_other_boxes_working.nyash rename to local_tests/test_other_boxes_working.nyash diff --git a/test_pack_transparency.nyash b/local_tests/test_pack_transparency.nyash similarity index 100% rename from test_pack_transparency.nyash rename to local_tests/test_pack_transparency.nyash diff --git a/test_pack_transparency_basic.nyash b/local_tests/test_pack_transparency_basic.nyash similarity index 100% rename from test_pack_transparency_basic.nyash rename to local_tests/test_pack_transparency_basic.nyash diff --git a/test_pack_transparency_comprehensive.nyash b/local_tests/test_pack_transparency_comprehensive.nyash similarity index 100% rename from test_pack_transparency_comprehensive.nyash rename to local_tests/test_pack_transparency_comprehensive.nyash diff --git a/test_pack_transparency_errors.nyash b/local_tests/test_pack_transparency_errors.nyash similarity index 100% rename from test_pack_transparency_errors.nyash rename to local_tests/test_pack_transparency_errors.nyash diff --git a/test_pack_transparency_final.nyash b/local_tests/test_pack_transparency_final.nyash similarity index 100% rename from test_pack_transparency_final.nyash rename to local_tests/test_pack_transparency_final.nyash diff --git a/test_phase975b_boxes.nyash b/local_tests/test_phase975b_boxes.nyash similarity index 100% rename from test_phase975b_boxes.nyash rename to local_tests/test_phase975b_boxes.nyash diff --git a/test_phase_8_9_error_cases.nyash b/local_tests/test_phase_8_9_error_cases.nyash similarity index 100% rename from test_phase_8_9_error_cases.nyash rename to local_tests/test_phase_8_9_error_cases.nyash diff --git a/test_phase_8_9_explicit_birth.nyash b/local_tests/test_phase_8_9_explicit_birth.nyash similarity index 100% rename from test_phase_8_9_explicit_birth.nyash rename to local_tests/test_phase_8_9_explicit_birth.nyash diff --git a/test_phase_8_9_transparency_removal.nyash b/local_tests/test_phase_8_9_transparency_removal.nyash similarity index 100% rename from test_phase_8_9_transparency_removal.nyash rename to local_tests/test_phase_8_9_transparency_removal.nyash diff --git a/test_phase_b_validation.nyash b/local_tests/test_phase_b_validation.nyash similarity index 100% rename from test_phase_b_validation.nyash rename to local_tests/test_phase_b_validation.nyash diff --git a/test_simple.nyash b/local_tests/test_simple.nyash similarity index 100% rename from test_simple.nyash rename to local_tests/test_simple.nyash diff --git a/test_simple_arc_fix.nyash b/local_tests/test_simple_arc_fix.nyash similarity index 100% rename from test_simple_arc_fix.nyash rename to local_tests/test_simple_arc_fix.nyash diff --git a/test_simple_array.nyash b/local_tests/test_simple_array.nyash similarity index 100% rename from test_simple_array.nyash rename to local_tests/test_simple_array.nyash diff --git a/test_simple_array2.nyash b/local_tests/test_simple_array2.nyash similarity index 100% rename from test_simple_array2.nyash rename to local_tests/test_simple_array2.nyash diff --git a/test_simple_field.nyash b/local_tests/test_simple_field.nyash similarity index 100% rename from test_simple_field.nyash rename to local_tests/test_simple_field.nyash diff --git a/test_simple_loop.nyash b/local_tests/test_simple_loop.nyash similarity index 100% rename from test_simple_loop.nyash rename to local_tests/test_simple_loop.nyash diff --git a/test_simple_wasm_aot.nyash b/local_tests/test_simple_wasm_aot.nyash similarity index 100% rename from test_simple_wasm_aot.nyash rename to local_tests/test_simple_wasm_aot.nyash diff --git a/test_simple_weak_ref.nyash b/local_tests/test_simple_weak_ref.nyash similarity index 100% rename from test_simple_weak_ref.nyash rename to local_tests/test_simple_weak_ref.nyash diff --git a/test_socket_bind_only.nyash b/local_tests/test_socket_bind_only.nyash similarity index 100% rename from test_socket_bind_only.nyash rename to local_tests/test_socket_bind_only.nyash diff --git a/test_socket_deadlock_minimal.nyash b/local_tests/test_socket_deadlock_minimal.nyash similarity index 100% rename from test_socket_deadlock_minimal.nyash rename to local_tests/test_socket_deadlock_minimal.nyash diff --git a/test_socket_methods_comprehensive.nyash b/local_tests/test_socket_methods_comprehensive.nyash similarity index 100% rename from test_socket_methods_comprehensive.nyash rename to local_tests/test_socket_methods_comprehensive.nyash diff --git a/test_socket_simple.nyash b/local_tests/test_socket_simple.nyash similarity index 100% rename from test_socket_simple.nyash rename to local_tests/test_socket_simple.nyash diff --git a/test_socket_state_preservation.nyash b/local_tests/test_socket_state_preservation.nyash similarity index 100% rename from test_socket_state_preservation.nyash rename to local_tests/test_socket_state_preservation.nyash diff --git a/test_socketbox_comprehensive.nyash b/local_tests/test_socketbox_comprehensive.nyash similarity index 100% rename from test_socketbox_comprehensive.nyash rename to local_tests/test_socketbox_comprehensive.nyash diff --git a/test_socketbox_fix_validation.nyash b/local_tests/test_socketbox_fix_validation.nyash similarity index 100% rename from test_socketbox_fix_validation.nyash rename to local_tests/test_socketbox_fix_validation.nyash diff --git a/test_socketbox_state_fix.nyash b/local_tests/test_socketbox_state_fix.nyash similarity index 100% rename from test_socketbox_state_fix.nyash rename to local_tests/test_socketbox_state_fix.nyash diff --git a/test_state_sharing_validation.nyash b/local_tests/test_state_sharing_validation.nyash similarity index 100% rename from test_state_sharing_validation.nyash rename to local_tests/test_state_sharing_validation.nyash diff --git a/test_static_box_patterns.nyash b/local_tests/test_static_box_patterns.nyash similarity index 100% rename from test_static_box_patterns.nyash rename to local_tests/test_static_box_patterns.nyash diff --git a/test_static_main_compatibility.nyash b/local_tests/test_static_main_compatibility.nyash similarity index 100% rename from test_static_main_compatibility.nyash rename to local_tests/test_static_main_compatibility.nyash diff --git a/test_tcp_server.nyash b/local_tests/test_tcp_server.nyash similarity index 100% rename from test_tcp_server.nyash rename to local_tests/test_tcp_server.nyash diff --git a/test_user_defined_box.nyash b/local_tests/test_user_defined_box.nyash similarity index 100% rename from test_user_defined_box.nyash rename to local_tests/test_user_defined_box.nyash diff --git a/test_wasm_box_integration.nyash b/local_tests/test_wasm_box_integration.nyash similarity index 100% rename from test_wasm_box_integration.nyash rename to local_tests/test_wasm_box_integration.nyash diff --git a/test_wasm_box_ops.nyash b/local_tests/test_wasm_box_ops.nyash similarity index 100% rename from test_wasm_box_ops.nyash rename to local_tests/test_wasm_box_ops.nyash diff --git a/test_wasm_simple.nyash b/local_tests/test_wasm_simple.nyash similarity index 100% rename from test_wasm_simple.nyash rename to local_tests/test_wasm_simple.nyash diff --git a/test_wasm_vs_aot.nyash b/local_tests/test_wasm_vs_aot.nyash similarity index 100% rename from test_wasm_vs_aot.nyash rename to local_tests/test_wasm_vs_aot.nyash diff --git a/test_with_local.nyash b/local_tests/test_with_local.nyash similarity index 100% rename from test_with_local.nyash rename to local_tests/test_with_local.nyash diff --git a/test_zero_copy_detection.nyash b/local_tests/test_zero_copy_detection.nyash similarity index 100% rename from test_zero_copy_detection.nyash rename to local_tests/test_zero_copy_detection.nyash diff --git a/test_zero_copy_simple.nyash b/local_tests/test_zero_copy_simple.nyash similarity index 100% rename from test_zero_copy_simple.nyash rename to local_tests/test_zero_copy_simple.nyash diff --git a/mir_test.rs b/mir_test.rs deleted file mode 100644 index 18397fac..00000000 --- a/mir_test.rs +++ /dev/null @@ -1,52 +0,0 @@ -/*! - * Basic MIR Test - Direct module testing - */ -use nyash_rust::mir::*; -use nyash_rust::ast::{ASTNode, LiteralValue, Span}; - -fn main() { - println!("🚀 Testing MIR Basic Infrastructure"); - - // Test 1: Create a simple literal AST and compile to MIR - let ast = ASTNode::Literal { - value: LiteralValue::Integer(42), - span: Span::unknown(), - }; - - let mut compiler = MirCompiler::new(); - match compiler.compile(ast) { - Ok(result) => { - println!("✅ MIR compilation successful!"); - - // Test verification - match &result.verification_result { - Ok(()) => println!("✅ MIR verification passed"), - Err(errors) => { - println!("❌ MIR verification failed with {} errors:", errors.len()); - for error in errors { - println!(" - {}", error); - } - } - } - - // Test MIR printing - let mir_output = compiler.dump_mir(&result.module); - println!("\n📊 Generated MIR:"); - println!("{}", mir_output); - - // Show statistics - let stats = result.module.stats(); - println!("\n📊 Module Statistics:"); - println!(" Functions: {}", stats.function_count); - println!(" Total Blocks: {}", stats.total_blocks); - println!(" Total Instructions: {}", stats.total_instructions); - println!(" Total Values: {}", stats.total_values); - - }, - Err(e) => { - println!("❌ MIR compilation failed: {}", e); - } - } - - println!("\n🎯 MIR Test Complete!"); -} \ No newline at end of file diff --git a/nekocode/nekocode-rust b/nekocode/nekocode-rust new file mode 100644 index 00000000..ef91ebc0 Binary files /dev/null and b/nekocode/nekocode-rust differ diff --git a/phase9_7_externcall_demo.html b/phase9_7_externcall_demo.html deleted file mode 100644 index 68cd4825..00000000 --- a/phase9_7_externcall_demo.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - Phase 9.7 ExternCall Demo - Nyash WASM FFI - - - -
-

🌐 Phase 9.7: Box FFI/ABI + ExternCall Demo

- -
- ✅ ExternCall Implementation Complete!
- Universal Library Integration via WASM Runtime Imports -
- -

🎯 Architecture Overview

-
// Nyash External Call Pattern -console.log("Hello from Nyash!") -canvas.fillRect("demo-canvas", 50, 50, 100, 100, "red") - -// Generated MIR ExternCall Instructions: -ExternCall { - dst: None, - iface_name: "env.console", - method_name: "log", - args: [string_ptr, string_len], - effects: IO -} - -// Generated WASM Imports: -(import "env" "console_log" (func $console_log (param i32 i32))) -(import "env" "canvas_fillRect" (func $canvas_fillRect (param i32 i32 i32 i32 i32 i32 i32 i32)))
- -

🎮 Interactive Demo

- - -
- - - - -
- -

📊 Console Output:

-
- -

🔧 Implementation Status

-
- ✅ Core Components Complete:
- • MIR ExternCall instruction with effect tracking
- • WASM RuntimeImports with console/canvas operations
- • JavaScript import object generation
- • BID specification compliance (console.yaml, canvas.yaml)
- • String handling via (ptr, len) parameters

- - 🚀 Ready for Universal Exchange:
- External libraries can now be integrated via Box FFI/ABI! -
-
- - - - \ No newline at end of file diff --git a/simple_test.nyash b/simple_test.nyash deleted file mode 100644 index 074f28f1..00000000 --- a/simple_test.nyash +++ /dev/null @@ -1 +0,0 @@ -static box Main { main() { return 42 } } diff --git a/simple_test.wat b/simple_test.wat deleted file mode 100644 index dd7c31ac..00000000 --- a/simple_test.wat +++ /dev/null @@ -1,8 +0,0 @@ -(module - (func $main (result i32) - i32.const 10 - i32.const 20 - i32.add - ) - (export "main" (func $main)) -) \ No newline at end of file diff --git a/test_aot.cwasm b/test_aot.cwasm deleted file mode 100644 index 867e1b3d..00000000 Binary files a/test_aot.cwasm and /dev/null differ diff --git a/test_aot_performance.sh b/test_aot_performance.sh deleted file mode 100755 index 116fd653..00000000 --- a/test_aot_performance.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash - -# AOT Performance Test Script -# Tests the new AOT compilation functionality - -echo "🚀 Nyash AOT Performance Test Suite" -echo "======================================" -echo - -# Test file -cat > test_performance.nyash << 'EOF' -// Performance test program -local i, sum, max -sum = 0 -max = 100 -i = 0 - -// Simple loop for computation -loop (i < max) { - sum = sum + i - i = i + 1 - if (i >= max) { - break - } -} -EOF - -echo "📝 Test Program:" -cat test_performance.nyash -echo -echo "======================================" - -# Test 1: Interpreter Backend -echo "🔍 Test 1: Interpreter Backend" -echo "------------------------------" -time ./target/release/nyash test_performance.nyash -echo - -# Test 2: VM Backend -echo "🔍 Test 2: VM Backend" -echo "---------------------" -time ./target/release/nyash --backend vm test_performance.nyash -echo - -# Test 3: WASM Compilation -echo "🔍 Test 3: WASM Compilation" -echo "---------------------------" -time ./target/release/nyash --compile-wasm test_performance.nyash -o test_performance.wat -echo "📊 WASM file size:" -ls -lh test_performance.wat 2>/dev/null || echo "WASM compilation failed" -echo - -# Test 4: AOT Compilation -echo "🔍 Test 4: AOT Compilation" -echo "--------------------------" -time ./target/release/nyash --compile-native test_performance.nyash -o test_performance -echo "📊 AOT file size:" -ls -lh test_performance.cwasm 2>/dev/null || echo "AOT compilation failed" -echo - -# Test 5: AOT Short Form -echo "🔍 Test 5: AOT Short Form (--aot)" -echo "---------------------------------" -time ./target/release/nyash --aot test_performance.nyash -echo - -echo "🎉 Performance Test Complete!" -echo "==============================" -echo - -# Cleanup -rm -f test_performance.nyash test_performance.wat test_performance.cwasm \ No newline at end of file diff --git a/test_box_creation.nyash b/test_box_creation.nyash deleted file mode 100644 index 2bfc42d5..00000000 --- a/test_box_creation.nyash +++ /dev/null @@ -1,14 +0,0 @@ -box SimpleBox { - init { value } - - pack(v) { - me.value = v - } -} - -static box Main { - main() { - local obj = new SimpleBox(100) - return 200 - } -} \ No newline at end of file diff --git a/test_local_vars.wasm b/test_local_vars.wasm deleted file mode 100644 index 1e0ef513..00000000 Binary files a/test_local_vars.wasm and /dev/null differ diff --git a/test_local_vars.wat b/test_local_vars.wat deleted file mode 100644 index de851632..00000000 --- a/test_local_vars.wat +++ /dev/null @@ -1,207 +0,0 @@ -🌐 Nyash WASM Compiler - Processing file: test_local_vars.nyash 🌐 -✅ WASM compilation completed successfully! -📄 Generated WAT: -(module - (import "env" "print" (func $print (param i32) )) - (memory (export "memory") 1) - (global $heap_ptr (mut i32) (i32.const 2048)) - (func $malloc (param $size i32) (result i32) - (local $ptr i32) - (local $aligned_size i32) - - ;; Align size to 4-byte boundary - local.get $size - i32.const 3 - i32.add - i32.const -4 - i32.and - local.set $aligned_size - - ;; Get current heap pointer - global.get $heap_ptr - local.set $ptr - - ;; Advance heap pointer by aligned size - global.get $heap_ptr - local.get $aligned_size - i32.add - global.set $heap_ptr - - ;; Return allocated pointer - local.get $ptr - ) - (func $box_alloc (param $type_id i32) (param $field_count i32) (result i32) - (local $ptr i32) - (local $total_size i32) - - ;; Calculate total size: header (12) + fields (field_count * 4) - local.get $field_count - i32.const 4 - i32.mul - i32.const 12 - i32.add - local.set $total_size - - ;; Allocate memory - local.get $total_size - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - local.get $type_id - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - local.get $field_count - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_stringbox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 20 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4097 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 2 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_integerbox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 16 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4098 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 1 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_boolbox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 16 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4099 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 1 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_databox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 16 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4101 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 1 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $main (local $0 i32) (local $1 i32) (local $2 i32) - nop - i32.const 10 - local.set $0 - i32.const 20 - local.set $1 - local.get $0 - local.get $1 - i32.add - local.set $2 - local.get $2 - return - ) - (export "main" (func $main)) -) - diff --git a/test_mir_demo.sh b/test_mir_demo.sh deleted file mode 100755 index fe90968f..00000000 --- a/test_mir_demo.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash - -echo "🚀 Nyash MIR Infrastructure Demonstration" -echo "==========================================" - -echo "" -echo "✅ 1. MIR Library Compilation Test:" -echo " Checking if MIR modules compile successfully..." -cargo check --lib --quiet -if [ $? -eq 0 ]; then - echo " ✅ MIR library compiles successfully!" -else - echo " ❌ MIR library compilation failed" - exit 1 -fi - -echo "" -echo "✅ 2. MIR Module Structure Test:" -echo " Verifying MIR module structure is complete..." -ls -la src/mir/ -echo " ✅ All MIR modules present:" -echo " - mod.rs (main module)" -echo " - instruction.rs (20 core instructions)" -echo " - basic_block.rs (SSA basic blocks)" -echo " - function.rs (MIR functions & modules)" -echo " - builder.rs (AST→MIR conversion)" -echo " - verification.rs (SSA verification)" -echo " - printer.rs (MIR debug output)" -echo " - value_id.rs (SSA value system)" -echo " - effect.rs (effect tracking)" - -echo "" -echo "✅ 3. MIR Integration Test:" -echo " Checking MIR integration in main library..." -grep -q "pub mod mir;" src/lib.rs -if [ $? -eq 0 ]; then - echo " ✅ MIR module properly integrated in lib.rs" -else - echo " ❌ MIR module not found in lib.rs" -fi - -echo "" -echo "✅ 4. CLI Support Test:" -echo " Verifying MIR CLI flags are implemented..." -grep -q "dump-mir" src/main.rs -if [ $? -eq 0 ]; then - echo " ✅ --dump-mir flag implemented" -else - echo " ❌ --dump-mir flag missing" -fi - -grep -q "verify" src/main.rs -if [ $? -eq 0 ]; then - echo " ✅ --verify flag implemented" -else - echo " ❌ --verify flag missing" -fi - -echo "" -echo "🎯 MIR Infrastructure Status:" -echo "==============================" -echo "✅ 20 Core Instructions: Implemented" -echo "✅ SSA Value System: Implemented" -echo "✅ Basic Block System: Implemented" -echo "✅ Effect System: Implemented" -echo "✅ AST→MIR Builder: Implemented" -echo "✅ MIR Verification: Implemented" -echo "✅ MIR Printer: Implemented" -echo "✅ CLI Integration: Implemented" -echo "" -echo "🚀 STAGE 1 MIR INFRASTRUCTURE: COMPLETE!" -echo "Ready for Week 3-4: Register VM & Bytecode Generation" \ No newline at end of file diff --git a/test_mir_phase5.rs b/test_mir_phase5.rs deleted file mode 100644 index 51e1b22c..00000000 --- a/test_mir_phase5.rs +++ /dev/null @@ -1,103 +0,0 @@ -use nyash_rust::mir::{MirCompiler}; -use nyash_rust::ast::{ASTNode, LiteralValue, Span}; - -fn main() { - println!("=== Testing MIR Control Flow Compilation ===\n"); - - // Test 1: Basic Throw instruction - println!("Test 1: Basic Throw Instruction"); - let throw_ast = ASTNode::Throw { - expression: Box::new(ASTNode::Literal { - value: LiteralValue::String("Test exception".to_string()), - span: Span::unknown(), - }), - span: Span::unknown(), - }; - - let mut compiler = MirCompiler::new(); - match compiler.compile(throw_ast) { - Ok(result) => { - println!("✓ Throw compilation successful"); - let mir_dump = compiler.dump_mir(&result.module); - println!("MIR Output:\n{}", mir_dump); - }, - Err(e) => println!("✗ Throw compilation failed: {}", e), - } - - println!("\n" + &"=".repeat(50) + "\n"); - - // Test 2: Basic Loop instruction - println!("Test 2: Basic Loop Instruction"); - let loop_ast = ASTNode::Loop { - condition: Box::new(ASTNode::Literal { - value: LiteralValue::Bool(true), - span: Span::unknown(), - }), - body: vec![ - ASTNode::Print { - expression: Box::new(ASTNode::Literal { - value: LiteralValue::String("Hello from loop".to_string()), - span: Span::unknown(), - }), - span: Span::unknown(), - } - ], - span: Span::unknown(), - }; - - let mut compiler2 = MirCompiler::new(); - match compiler2.compile(loop_ast) { - Ok(result) => { - println!("✓ Loop compilation successful"); - let mir_dump = compiler2.dump_mir(&result.module); - println!("MIR Output:\n{}", mir_dump); - }, - Err(e) => println!("✗ Loop compilation failed: {}", e), - } - - println!("\n" + &"=".repeat(50) + "\n"); - - // Test 3: TryCatch compilation - println!("Test 3: TryCatch Instruction"); - let try_catch_ast = ASTNode::TryCatch { - try_body: vec![ - ASTNode::Print { - expression: Box::new(ASTNode::Literal { - value: LiteralValue::String("In try block".to_string()), - span: Span::unknown(), - }), - span: Span::unknown(), - } - ], - catch_clauses: vec![ - nyash_rust::ast::CatchClause { - exception_type: Some("Exception".to_string()), - variable_name: Some("e".to_string()), - body: vec![ - ASTNode::Print { - expression: Box::new(ASTNode::Literal { - value: LiteralValue::String("In catch block".to_string()), - span: Span::unknown(), - }), - span: Span::unknown(), - } - ], - span: Span::unknown(), - } - ], - finally_body: None, - span: Span::unknown(), - }; - - let mut compiler3 = MirCompiler::new(); - match compiler3.compile(try_catch_ast) { - Ok(result) => { - println!("✓ TryCatch compilation successful"); - let mir_dump = compiler3.dump_mir(&result.module); - println!("MIR Output:\n{}", mir_dump); - }, - Err(e) => println!("✗ TryCatch compilation failed: {}", e), - } - - println!("\n=== All tests completed ==="); -} \ No newline at end of file diff --git a/test_mir_simple.nyash b/test_mir_simple.nyash deleted file mode 100644 index ed90bee5..00000000 --- a/test_mir_simple.nyash +++ /dev/null @@ -1,9 +0,0 @@ -// Simple MIR test -static box Main { - main() { - local result - result = 42 + 8 - print(result) - return result - } -} \ No newline at end of file diff --git a/test_phase6.sh b/test_phase6.sh deleted file mode 100755 index a8b8701c..00000000 --- a/test_phase6.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -# Test script for Phase 6 Box reference operations - -echo "🧪 Testing Phase 6 Box Reference Operations" -echo "==========================================" - -echo -echo "1. Testing VM Backend Basic Functionality..." -./target/debug/nyash --backend vm simple_mir_test.nyash -echo "✅ VM Backend Test: PASSED" - -echo -echo "2. Testing MIR Generation..." -echo "Generated MIR:" -./target/debug/nyash --dump-mir simple_mir_test.nyash -echo "✅ MIR Generation Test: PASSED" - -echo -echo "3. Running MIR Instruction Unit Tests..." -cargo test mir::instruction::tests --quiet -echo "✅ Unit Tests: PASSED" - -echo -echo "4. Testing Effect System..." -echo "Running effect verification..." -./target/debug/nyash --verify simple_mir_test.nyash > /dev/null 2>&1 -if [ $? -eq 0 ]; then - echo "✅ Effect Verification: PASSED" -else - echo "⚠️ Effect Verification: SKIPPED (verification not fully implemented)" -fi - -echo -echo "🎉 Phase 6 Implementation Summary:" -echo "- RefNew/RefGet/RefSet instructions: ✅ Implemented" -echo "- WeakNew/WeakLoad instructions: ✅ Implemented" -echo "- BarrierRead/BarrierWrite instructions: ✅ Implemented" -echo "- Effect tracking: ✅ Implemented" -echo "- VM execution: ✅ Implemented" -echo "- MIR generation: ✅ Implemented" -echo "- Unit tests: ✅ All passing" -echo -echo "🚀 Ready for integration with higher-level Box field operations!" \ No newline at end of file diff --git a/test_runner.js b/test_runner.js deleted file mode 100644 index 5d8b8200..00000000 --- a/test_runner.js +++ /dev/null @@ -1,47 +0,0 @@ -// Node.js用WASM実行テストランナー -const fs = require('fs'); - -async function runWasm() { - try { - // WASMバイナリ読み込み - const wasmBuffer = fs.readFileSync('test_local_vars.wasm'); - - // Import関数定義 - const importObject = { - env: { - print: (value) => { - console.log(`WASM print: ${value}`); - } - } - }; - - // WASM インスタンス作成・実行 - const wasmModule = await WebAssembly.instantiate(wasmBuffer, importObject); - - console.log('🌐 WASM module loaded successfully!'); - - // main関数実行 - const startTime = performance.now(); - const result = wasmModule.instance.exports.main(); - const endTime = performance.now(); - - console.log(`🏆 WASM Execution Result: ${result}`); - console.log(`⚡ WASM Execution Time: ${(endTime - startTime).toFixed(3)} ms`); - - return { - result: result, - executionTime: endTime - startTime - }; - - } catch (error) { - console.error('❌ WASM execution error:', error); - return null; - } -} - -// 実行 -runWasm().then(result => { - if (result) { - console.log(`✅ Test completed - Result: ${result.result}, Time: ${result.executionTime.toFixed(3)}ms`); - } -}); \ No newline at end of file diff --git a/test_simple.wat b/test_simple.wat deleted file mode 100644 index 5e65200c..00000000 --- a/test_simple.wat +++ /dev/null @@ -1,247 +0,0 @@ -(module - (import "env" "print" (func $print (param i32) )) - (import "env" "print_str" (func $print_str (param i32 i32) )) - (import "env" "console_log" (func $console_log (param i32 i32) )) - (import "env" "canvas_fillRect" (func $canvas_fillRect (param i32 i32 i32 i32 i32 i32 i32 i32) )) - (import "env" "canvas_fillText" (func $canvas_fillText (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) )) - (memory (export "memory") 1) - (data (i32.const 4096) "\5f\5f\6d\65\5f\5f") - (data (i32.const 4102) "\57\41\53\4d\20\74\65\73\74\20\72\65\61\64\79") - (global $heap_ptr (mut i32) (i32.const 2048)) - (func $malloc (param $size i32) (result i32) - (local $ptr i32) - (local $aligned_size i32) - - ;; Align size to 4-byte boundary - local.get $size - i32.const 3 - i32.add - i32.const -4 - i32.and - local.set $aligned_size - - ;; Get current heap pointer - global.get $heap_ptr - local.set $ptr - - ;; Advance heap pointer by aligned size - global.get $heap_ptr - local.get $aligned_size - i32.add - global.set $heap_ptr - - ;; Return allocated pointer - local.get $ptr - ) - (func $box_alloc (param $type_id i32) (param $field_count i32) (result i32) - (local $ptr i32) - (local $total_size i32) - - ;; Calculate total size: header (12) + fields (field_count * 4) - local.get $field_count - i32.const 4 - i32.mul - i32.const 12 - i32.add - local.set $total_size - - ;; Allocate memory - local.get $total_size - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - local.get $type_id - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - local.get $field_count - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_stringbox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 20 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4097 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 2 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_integerbox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 16 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4098 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 1 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_boolbox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 16 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4099 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 1 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $alloc_databox (result i32) - (local $ptr i32) - - ;; Allocate memory for box - i32.const 16 - call $malloc - local.set $ptr - - ;; Initialize type_id - local.get $ptr - i32.const 4101 - i32.store - - ;; Initialize ref_count to 1 - local.get $ptr - i32.const 4 - i32.add - i32.const 1 - i32.store - - ;; Initialize field_count - local.get $ptr - i32.const 8 - i32.add - i32.const 1 - i32.store - - ;; Return box pointer - local.get $ptr - ) - (func $main (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - nop - call $alloc_stringbox - local.set $0 - local.get $0 - i32.const 12 - i32.add - i32.const 4096 - i32.store - local.get $0 - i32.const 16 - i32.add - i32.const 6 - i32.store - call $alloc_stringbox - local.set $1 - local.get $1 - i32.const 12 - i32.add - i32.const 4102 - i32.store - local.get $1 - i32.const 16 - i32.add - i32.const 15 - i32.store - local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.store - call $alloc_stringbox - local.set $2 - local.get $2 - i32.const 12 - i32.add - i32.const 4096 - i32.store - local.get $2 - i32.const 16 - i32.add - i32.const 6 - i32.store - local.get $2 - i32.const 12 - i32.add - i32.load - local.set $3 - local.get $3 - return - ) - (export "main" (func $main)) -) diff --git a/test_simple_aot_new.cwasm b/test_simple_aot_new.cwasm deleted file mode 100644 index 8638e3a1..00000000 Binary files a/test_simple_aot_new.cwasm and /dev/null differ diff --git a/tests/development/test_array_length_main.nyash b/tests/development/test_array_length_main.nyash new file mode 100644 index 00000000..00cbda8e --- /dev/null +++ b/tests/development/test_array_length_main.nyash @@ -0,0 +1,47 @@ +// 🧪 ArrayBox.length() Bug Fix Test + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("🧪 Testing ArrayBox.length() Bug Fix") + + // Test 1: Empty array length + local empty_array = new ArrayBox() + local empty_length = empty_array.length() + me.console.log("Empty array length: " + empty_length) + + // Test 2: Add elements and check length + local test_array = new ArrayBox() + me.console.log("Adding elements...") + + test_array.push("line1") + local length1 = test_array.length() + me.console.log("After adding 1 element: " + length1) + + test_array.push("line2") + local length2 = test_array.length() + me.console.log("After adding 2 elements: " + length2) + + test_array.push("line3") + local length3 = test_array.length() + me.console.log("After adding 3 elements: " + length3) + + // Test 3: Pop and check length consistency + local popped = test_array.pop() + local length_after_pop = test_array.length() + me.console.log("After popping (" + popped + "): " + length_after_pop) + + // Evaluation + if empty_length == 0 and length1 == 1 and length2 == 2 and length3 == 3 and length_after_pop == 2 { + me.console.log("✅ ArrayBox.length() fix SUCCESSFUL!") + } else { + me.console.log("❌ ArrayBox.length() fix FAILED!") + me.console.log("Expected: 0, 1, 2, 3, 2") + me.console.log("Got: " + empty_length + ", " + length1 + ", " + length2 + ", " + length3 + ", " + length_after_pop) + } + + return "ArrayBox.length() test complete" + } +} \ No newline at end of file diff --git a/tests/development/test_copilot_fixes_main.nyash b/tests/development/test_copilot_fixes_main.nyash new file mode 100644 index 00000000..650eaa6d --- /dev/null +++ b/tests/development/test_copilot_fixes_main.nyash @@ -0,0 +1,95 @@ +// 🎯 Copilot修正版の包括的テスト - Mainエントリーポイント付き + +// テストクラス群 +static box TestRunner { + init { console } + + test_modulo_operator() { + me.console.log("📐 Testing % operator (ModuloBox fix)...") + + // Chip-8 style operations + local result1 = 4096 % 4096 + me.console.log("4096 % 4096 = " + result1) // Expected: 0 + + local result2 = 256 % 16 + me.console.log("256 % 16 = " + result2) // Expected: 0 + + local result3 = 17 % 5 + me.console.log("17 % 5 = " + result3) // Expected: 2 + + local result4 = 10 % 3 + me.console.log("10 % 3 = " + result4) // Expected: 1 + + if result1 == 0 and result2 == 0 and result3 == 2 and result4 == 1 { + me.console.log("✅ % operator fix SUCCESSFUL!") + } else { + me.console.log("❌ % operator fix FAILED!") + } + } + + test_null_literals() { + me.console.log("🔧 Testing null literal support...") + + // Test null assignment + local null_var = null + me.console.log("Null variable: " + null_var) + + // Note: null comparison might not work yet + me.console.log("✅ Null literal parsing works") + } + + test_array_length() { + me.console.log("📊 Testing ArrayBox.length() functionality...") + + local test_array = new ArrayBox() + local initial_length = test_array.length() + me.console.log("Empty array length: " + initial_length) + + // Add elements + test_array.push("line1") + test_array.push("line2") + test_array.push("line3") + + local populated_length = test_array.length() + me.console.log("Array with 3 elements length: " + populated_length) + + if populated_length == 3 { + me.console.log("✅ ArrayBox.length() fix SUCCESSFUL!") + } else { + me.console.log("❌ ArrayBox.length() fix FAILED!") + } + } + + run_all_tests() { + me.console = new ConsoleBox() + me.console.log("🧪 Copilot Fixes - Comprehensive Test Suite") + me.console.log("===============================================") + + me.test_modulo_operator() + me.console.log("") + + me.test_null_literals() + me.console.log("") + + me.test_array_length() + me.console.log("") + + me.console.log("🎉 All Copilot fix tests completed!") + return "Comprehensive test suite finished" + } +} + +// 🚀 Mainエントリーポイント - Nyashの標準パターン +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("🎯 Starting Copilot Fixes Test") + + local result = TestRunner.run_all_tests() + + me.console.log("🏁 Test result: " + result) + return "Main execution complete" + } +} \ No newline at end of file diff --git a/tests/development/test_debug_statics.nyash b/tests/development/test_debug_statics.nyash new file mode 100644 index 00000000..046ffa44 --- /dev/null +++ b/tests/development/test_debug_statics.nyash @@ -0,0 +1,21 @@ +// Debug test for statics namespace + +static box TestHelper { + greet() { + return "Hello from TestHelper" + } +} + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("Starting statics debug test") + + // This will fail but show us the debug output + local test = TestHelper + + return "Complete" + } +} \ No newline at end of file diff --git a/tests/development/test_diamond_problem.nyash b/tests/development/test_diamond_problem.nyash new file mode 100644 index 00000000..217f0492 --- /dev/null +++ b/tests/development/test_diamond_problem.nyash @@ -0,0 +1,48 @@ +# Diamond Problem(菱形継承問題)テスト + +print("=== Diamond Problem Test ===") + +# 中間層 +box Middle from StringBox { + init { middle_data } + + birth(content) { + from StringBox.birth(content) + me.middle_data = "middle" + print("Middle.birth called") + } + + override toString() { + print("Middle.toString called") + return "Middle[" + from StringBox.toString() + "]" + } +} + +# 多重委譲(問題のあるパターン) +box Diamond from Middle, StringBox { + init { diamond_data } + + birth(content) { + from Middle.birth(content) + # from StringBox.birth(content) # これも必要? + me.diamond_data = "diamond" + print("Diamond.birth called") + } + + override toString() { + print("Diamond.toString called") + # どちらも StringBox.toString() を呼ぶ + local a = from Middle.toString() # Middle -> StringBox + local b = from StringBox.toString() # 直接 StringBox + return "Diamond[" + a + " | " + b + "]" + } +} + +# テスト実行 +print("\n--- Creating diamond instance ---") +local diamond = new Diamond("test") + +print("\n--- Calling toString ---") +print(diamond.toString()) + +print("\n=== Test completed ===") \ No newline at end of file diff --git a/tests/development/test_diamond_state_problem.nyash b/tests/development/test_diamond_state_problem.nyash new file mode 100644 index 00000000..5b859491 --- /dev/null +++ b/tests/development/test_diamond_state_problem.nyash @@ -0,0 +1,51 @@ +# Diamond Problem - 状態変更の重複実行テスト + +print("=== Diamond State Problem Test ===") + +# カウンター付きStringBox拡張 +box CounterString from StringBox { + init { counter } + + birth(content) { + from StringBox.birth(content) + me.counter = 0 + print("CounterString.birth: counter = " + me.counter) + } + + override toString() { + me.counter = me.counter + 1 # ← 呼び出されるたびにカウントアップ + print("CounterString.toString called: counter = " + me.counter) + return "Counter[" + me.counter + "]: " + from StringBox.toString() + } +} + +# Diamond Problem - 状態変更が重複する +box DoubleProblem from CounterString, StringBox { + init { prob_data } + + birth(content) { + from CounterString.birth(content) + me.prob_data = "problem" + print("DoubleProblem.birth called") + } + + override toString() { + print("DoubleProblem.toString called") + # 同じCounterStringのcounterが2回増える? + local a = from CounterString.toString() # counter++ + local b = from StringBox.toString() # 別のStringBox? + return "Double[" + a + " | " + b + "]" + } +} + +# テスト実行 +print("\n--- Creating instance ---") +local prob = new DoubleProblem("test") + +print("\n--- First toString call ---") +print(prob.toString()) + +print("\n--- Second toString call ---") +print(prob.toString()) + +print("\n=== Test completed ===") \ No newline at end of file diff --git a/tests/development/test_mathbox_basic.nyash b/tests/development/test_mathbox_basic.nyash new file mode 100644 index 00000000..abf1ce4f --- /dev/null +++ b/tests/development/test_mathbox_basic.nyash @@ -0,0 +1,33 @@ +// 🧮 MathBox基本機能テスト + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("🧮 MathBox基本機能テスト") + + // MathBox作成 + local math = new MathBox() + me.console.log("✅ MathBox作成成功") + + // 基本計算テスト + local result1 = math.abs(-42) + me.console.log("🔢 abs(-42) = " + result1) + + local result2 = math.max(10, 25) + me.console.log("🔢 max(10, 25) = " + result2) + + local result3 = math.sqrt(16) + me.console.log("🔢 sqrt(16) = " + result3) + + // 三角関数テスト + local pi = math.getPi() + me.console.log("🔢 π = " + pi) + + local sin_result = math.sin(1.5708) // π/2 ≈ 1.5708 + me.console.log("🔢 sin(π/2) = " + sin_result) + + return "MathBox基本機能テスト完了" + } +} \ No newline at end of file diff --git a/tests/development/test_modulo_simple_main.nyash b/tests/development/test_modulo_simple_main.nyash new file mode 100644 index 00000000..2ca1b141 --- /dev/null +++ b/tests/development/test_modulo_simple_main.nyash @@ -0,0 +1,37 @@ +// 🧪 % Modulo Operator Test - Simple functionality verification + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("🧪 Testing % Modulo Operator") + + // Test 1: Basic modulo operation + local result1 = 10 % 3 + me.console.log("10 % 3 = " + result1) + + // Test 2: Chip-8 style bit masking + local result2 = 4096 % 4096 + me.console.log("4096 % 4096 = " + result2) + + // Test 3: Another typical case + local result3 = 256 % 16 + me.console.log("256 % 16 = " + result3) + + // Test 4: Common modulo pattern + local result4 = 17 % 5 + me.console.log("17 % 5 = " + result4) + + // Check results + if result1 == 1 and result2 == 0 and result3 == 0 and result4 == 2 { + me.console.log("✅ % Modulo operator test SUCCESSFUL!") + } else { + me.console.log("❌ % Modulo operator test FAILED!") + me.console.log("Expected: 1, 0, 0, 2") + me.console.log("Got: " + result1 + ", " + result2 + ", " + result3 + ", " + result4) + } + + return "Modulo test complete" + } +} \ No newline at end of file diff --git a/tests/development/test_normal_delegation.nyash b/tests/development/test_normal_delegation.nyash new file mode 100644 index 00000000..6f307c59 --- /dev/null +++ b/tests/development/test_normal_delegation.nyash @@ -0,0 +1,57 @@ +// 🔄 通常のデリゲーション(pack使用しない) + +// 親Box +box Animal { + init { name, species } + + init(animalName, animalSpecies) { + me.name = animalName + me.species = animalSpecies + print("🐾 Animal init: " + animalName + " (" + animalSpecies + ")") + } + + speak() { + return me.name + " makes a sound" + } +} + +// 子Box - 通常のデリゲーション(pack使わない) +box Dog from Animal { + init { breed } + + init(dogName, dogBreed) { + from Animal.init(dogName, "Dog") + me.breed = dogBreed + print("🐕 Dog init: " + dogName + " (breed: " + dogBreed + ")") + } + + override speak() { + return me.name + " barks!" + } + + getBreed() { + return me.breed + } +} + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("🔄 通常のデリゲーションテスト(pack使用なし)") + + // 通常のデリゲーションでDogインスタンス作成 + local myDog = new Dog("Rex", "German Shepherd") + me.console.log("✅ Dog作成成功") + + // メソッド呼び出し + local sound = myDog.speak() + me.console.log("🔊 " + sound) + + local breed = myDog.getBreed() + me.console.log("🐕 犬種: " + breed) + + return "通常デリゲーションテスト成功" + } +} \ No newline at end of file diff --git a/tests/development/test_null_literal_main.nyash b/tests/development/test_null_literal_main.nyash new file mode 100644 index 00000000..a7f74476 --- /dev/null +++ b/tests/development/test_null_literal_main.nyash @@ -0,0 +1,32 @@ +// 🧪 Null Literal Support Test + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("🧪 Testing Null Literal Support") + + // Test 1: Basic null assignment + local null_value = null + me.console.log("Null value: " + null_value) + + // Test 2: Non-null assignment + local non_null_value = "not null" + me.console.log("Non-null value: " + non_null_value) + + // Test 3: Null comparison (if supported) + me.console.log("Testing null comparison...") + + // Note: Comparison operators might not be fully working yet + // Let's try basic null usage + me.console.log("Null variable type: " + null_value.type_name()) + + // Test 4: Null in string concatenation + local concat_test = "Value is: " + null_value + me.console.log("Concatenation with null: " + concat_test) + + me.console.log("✅ Null literal parsing works!") + return "Null literal test complete" + } +} \ No newline at end of file diff --git a/tests/development/test_null_simple_main.nyash b/tests/development/test_null_simple_main.nyash new file mode 100644 index 00000000..eacc28d8 --- /dev/null +++ b/tests/development/test_null_simple_main.nyash @@ -0,0 +1,25 @@ +// 🧪 Null Literal Support Test (Simplified) + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("🧪 Testing Null Literal Support (Simplified)") + + // Test 1: Basic null assignment and display + local null_value = null + me.console.log("Null value: " + null_value) + + // Test 2: Null in string concatenation + local concat_test = "Result: " + null_value + " (end)" + me.console.log("Concatenation test: " + concat_test) + + // Test 3: Non-null vs null + local non_null_value = "not null" + me.console.log("Non-null value: " + non_null_value) + + me.console.log("✅ Null literal basic functionality works!") + return "Null literal test complete" + } +} \ No newline at end of file diff --git a/tests/development/test_pack_other_builtin.nyash b/tests/development/test_pack_other_builtin.nyash new file mode 100644 index 00000000..41186e5c --- /dev/null +++ b/tests/development/test_pack_other_builtin.nyash @@ -0,0 +1,34 @@ +// 🔍 他のビルトインBoxでpack構文テスト + +// P2PBoxでpack構文テスト +box MyP2PBox from P2PBox { + init { nodeHistory } + + pack(nodeId, world) { + from P2PBox.pack(nodeId, world) + me.nodeHistory = new ArrayBox() + print("✅ MyP2PBox pack成功") + } + + getHistory() { + return me.nodeHistory + } +} + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("🔍 P2PBox pack構文テスト") + + // P2PBox継承でpack使用 + local p2pNode = new MyP2PBox("node1", "tcp") + me.console.log("✅ MyP2PBox作成成功") + + local history = p2pNode.getHistory() + me.console.log("📚 履歴作成確認") + + return "P2PBox pack構文テスト完了" + } +} \ No newline at end of file diff --git a/tests/development/test_pack_syntax_simple.nyash b/tests/development/test_pack_syntax_simple.nyash new file mode 100644 index 00000000..d500536a --- /dev/null +++ b/tests/development/test_pack_syntax_simple.nyash @@ -0,0 +1,46 @@ +// 📦 pack構文テスト - ビルトインBox継承専用機能確認 + +// ビルトインBoxを継承してpack構文をテスト +box MyMathBox from MathBox { + init { history } // 追加フィールド + + pack() { + from MathBox.pack() // 親のpackを呼び出し + me.history = new ArrayBox() // 履歴追加 + print("✅ MyMathBox pack完了") + } + + override sin(x) { + local result = from MathBox.sin(x) + me.history.push("sin(" + x + ") = " + result) + print("📝 履歴追加: sin(" + x + ") = " + result) + return result + } + + getHistory() { + return me.history + } +} + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("🧪 pack構文テスト開始") + + // packコンストラクタでインスタンス作成 + local mathCalc = new MyMathBox() + me.console.log("✅ MyMathBox作成成功") + + // sin計算テスト + local result = mathCalc.sin(1.5708) // π/2 ≈ 90度 + me.console.log("🔢 sin(π/2) = " + result) + + // 履歴確認 + local history = mathCalc.getHistory() + me.console.log("📚 履歴サイズ: " + history.length()) + + return "pack構文テスト完了" + } +} \ No newline at end of file diff --git a/tests/development/test_pack_user_boxes.nyash b/tests/development/test_pack_user_boxes.nyash new file mode 100644 index 00000000..41070436 --- /dev/null +++ b/tests/development/test_pack_user_boxes.nyash @@ -0,0 +1,57 @@ +// 📦 ユーザー定義Box間でpack構文テスト + +// 親Box +box Animal { + init { name, species } + + pack(animalName, animalSpecies) { + me.name = animalName + me.species = animalSpecies + print("🐾 Animal pack: " + animalName + " (" + animalSpecies + ")") + } + + speak() { + return me.name + " makes a sound" + } +} + +// 子Box - pack構文でデリゲーション +box Dog from Animal { + init { breed } + + pack(dogName, dogBreed) { + from Animal.pack(dogName, "Dog") + me.breed = dogBreed + print("🐕 Dog pack: " + dogName + " (breed: " + dogBreed + ")") + } + + override speak() { + return me.name + " barks!" + } + + getBreed() { + return me.breed + } +} + +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("📦 ユーザー定義Box間 pack構文テスト") + + // pack構文でDogインスタンス作成 + local myDog = new Dog("Buddy", "Golden Retriever") + me.console.log("✅ Dog作成成功") + + // メソッド呼び出し + local sound = myDog.speak() + me.console.log("🔊 " + sound) + + local breed = myDog.getBreed() + me.console.log("🐕 犬種: " + breed) + + return "pack構文テスト成功" + } +} \ No newline at end of file diff --git a/tests/development/test_simple_chain_error.nyash b/tests/development/test_simple_chain_error.nyash new file mode 100644 index 00000000..dd467343 --- /dev/null +++ b/tests/development/test_simple_chain_error.nyash @@ -0,0 +1,37 @@ +# 簡単な3段階継承チェーンエラー再現 + +# 1段階目: ビルトインBox +# StringBox (内蔵) + +# 2段階目: ユーザー定義Box +box MiddleBox from StringBox { + init { middle_data } + + birth(content) { + from StringBox.birth(content) + me.middle_data = "middle" + } + + override toString() { + return "Middle: " + from StringBox.toString() + } +} + +# 3段階目: ユーザー定義Box (ここでエラー!) +box TopBox from MiddleBox { + init { top_data } + + birth(content) { + from MiddleBox.birth(content) + me.top_data = "top" + } + + override toString() { + # ここでエラー: TopBox は StringBox に直接 from していない + return "Top: " + from MiddleBox.toString() # この中で StringBox.toString() が呼ばれる + } +} + +# エラーが出る実行 +local top = new TopBox("test") +print(top.toString()) # ❌ ここでエラー発生! \ No newline at end of file diff --git a/tests/development/test_static_scope_problem.nyash b/tests/development/test_static_scope_problem.nyash new file mode 100644 index 00000000..af558afe --- /dev/null +++ b/tests/development/test_static_scope_problem.nyash @@ -0,0 +1,41 @@ +// 🚨 static box → static box スコープ解決問題テスト + +// 呼び出し先のstatic box +static box TestHelper { + test_method() { + return "TestHelper method called successfully" + } + + calculate(x, y) { + return x + y + } +} + +// メインのstatic box(呼び出し元) +static box Main { + init { console } + + main() { + me.console = new ConsoleBox() + me.console.log("🚨 Testing static box → static box scope resolution") + + // Test 1: 直接的な静的メソッド呼び出し + me.console.log("Test 1: Direct static method call") + local result1 = TestHelper.test_method() + me.console.log("Result: " + result1) + + // Test 2: 引数付きの静的メソッド呼び出し + me.console.log("Test 2: Static method with arguments") + local result2 = TestHelper.calculate(10, 20) + me.console.log("10 + 20 = " + result2) + + // Test 3: 変数に格納してから呼び出し + me.console.log("Test 3: Method call with variable storage") + local helper = TestHelper + local result3 = helper.test_method() + me.console.log("Via variable: " + result3) + + me.console.log("🏁 Static scope resolution test complete") + return "Main execution finished" + } +} \ No newline at end of file