leo/parser/tests/serialization/expected_leo_ast/silly_sudoku.json

1323 lines
47 KiB
JSON
Raw Normal View History

{
"aliases": {},
"circuits": {},
"expected_input": [],
"functions": {
"{\"name\":\"main\",\"span\":\"{\\\"line_start\\\":4,\\\"line_stop\\\":4,\\\"col_start\\\":10,\\\"col_stop\\\":14,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"function main(puzzle: [u8; (3, 3)], answer: [u8; (3, 3)]) -> bool {\\\"}\"}": {
"annotations": [],
"block": {
"statements": [
{
"Console": {
"function": {
"Log": {
"parameters": [],
"string": [
{
"Scalar": 83
},
{
"Scalar": 116
},
{
"Scalar": 97
},
{
"Scalar": 114
},
{
"Scalar": 116
},
{
"Scalar": 105
},
{
"Scalar": 110
},
{
"Scalar": 103
},
{
"Scalar": 32
},
{
"Scalar": 83
},
{
"Scalar": 117
},
{
"Scalar": 100
},
{
"Scalar": 111
},
{
"Scalar": 107
},
{
"Scalar": 117
},
{
"Scalar": 32
},
{
"Scalar": 115
},
{
"Scalar": 111
},
{
"Scalar": 108
},
{
"Scalar": 118
},
{
"Scalar": 101
},
{
"Scalar": 114
},
{
"Scalar": 46
},
{
"Scalar": 46
},
{
"Scalar": 46
}
]
}
}
}
},
{
"Console": {
"function": {
"Log": {
"parameters": [
{
"Identifier": "{\"name\":\"puzzle\",\"span\":\"{\\\"line_start\\\":6,\\\"line_stop\\\":6,\\\"col_start\\\":23,\\\"col_stop\\\":29,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" console.log(\\\\\\\"{}\\\\\\\", puzzle);\\\"}\"}"
}
],
"string": [
{
"Scalar": 123
},
{
"Scalar": 125
}
]
}
}
}
},
{
"Definition": {
"declaration_type": "Let",
"type_": null,
"value": {
"CircuitInit": {
"members": [
{
"expression": {
"Identifier": "{\"name\":\"puzzle\",\"span\":\"{\\\"line_start\\\":9,\\\"line_stop\\\":9,\\\"col_start\\\":45,\\\"col_stop\\\":51,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let sudoku = SillySudoku { puzzle_grid: puzzle };\\\"}\"}"
},
"identifier": "{\"name\":\"puzzle_grid\",\"span\":\"{\\\"line_start\\\":9,\\\"line_stop\\\":9,\\\"col_start\\\":32,\\\"col_stop\\\":43,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let sudoku = SillySudoku { puzzle_grid: puzzle };\\\"}\"}"
}
],
"name": "{\"name\":\"SillySudoku\",\"span\":\"{\\\"line_start\\\":9,\\\"line_stop\\\":9,\\\"col_start\\\":18,\\\"col_stop\\\":29,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let sudoku = SillySudoku { puzzle_grid: puzzle };\\\"}\"}"
}
},
"variable_names": [
{
"identifier": "{\"name\":\"sudoku\",\"span\":\"{\\\"line_start\\\":9,\\\"line_stop\\\":9,\\\"col_start\\\":9,\\\"col_stop\\\":15,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let sudoku = SillySudoku { puzzle_grid: puzzle };\\\"}\"}",
"mutable": true
}
]
}
},
{
"Console": {
"function": {
"Log": {
"parameters": [],
"string": [
{
"Scalar": 67
},
{
"Scalar": 104
},
{
"Scalar": 101
},
{
"Scalar": 99
},
{
"Scalar": 107
},
{
"Scalar": 105
},
{
"Scalar": 110
},
{
"Scalar": 103
},
{
"Scalar": 32
},
{
"Scalar": 83
},
{
"Scalar": 117
},
{
"Scalar": 100
},
{
"Scalar": 111
},
{
"Scalar": 107
},
{
"Scalar": 117
},
{
"Scalar": 32
},
{
"Scalar": 97
},
{
"Scalar": 110
},
{
"Scalar": 115
},
{
"Scalar": 119
},
{
"Scalar": 101
},
{
"Scalar": 114
},
{
"Scalar": 46
},
{
"Scalar": 46
},
{
"Scalar": 46
}
]
}
}
}
},
{
"Console": {
"function": {
"Log": {
"parameters": [
{
"Identifier": "{\"name\":\"answer\",\"span\":\"{\\\"line_start\\\":12,\\\"line_stop\\\":12,\\\"col_start\\\":23,\\\"col_stop\\\":29,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" console.log(\\\\\\\"{}\\\\\\\", answer);\\\"}\"}"
}
],
"string": [
{
"Scalar": 123
},
{
"Scalar": 125
}
]
}
}
}
},
{
"Definition": {
"declaration_type": "Let",
"type_": null,
"value": {
"Call": {
"arguments": [
{
"Identifier": "{\"name\":\"answer\",\"span\":\"{\\\"line_start\\\":15,\\\"line_stop\\\":15,\\\"col_start\\\":31,\\\"col_stop\\\":37,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = sudoku.solve(answer);\\\"}\"}"
}
],
"function": {
"CircuitMemberAccess": {
"circuit": {
"Identifier": "{\"name\":\"sudoku\",\"span\":\"{\\\"line_start\\\":15,\\\"line_stop\\\":15,\\\"col_start\\\":18,\\\"col_stop\\\":24,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = sudoku.solve(answer);\\\"}\"}"
},
"name": "{\"name\":\"solve\",\"span\":\"{\\\"line_start\\\":15,\\\"line_stop\\\":15,\\\"col_start\\\":25,\\\"col_stop\\\":30,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = sudoku.solve(answer);\\\"}\"}",
"type_": null
}
}
}
},
"variable_names": [
{
"identifier": "{\"name\":\"result\",\"span\":\"{\\\"line_start\\\":15,\\\"line_stop\\\":15,\\\"col_start\\\":9,\\\"col_stop\\\":15,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = sudoku.solve(answer);\\\"}\"}",
"mutable": true
}
]
}
},
{
"Console": {
"function": {
"Log": {
"parameters": [
{
"Identifier": "{\"name\":\"result\",\"span\":\"{\\\"line_start\\\":17,\\\"line_stop\\\":17,\\\"col_start\\\":38,\\\"col_stop\\\":44,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" console.log(\\\\\\\"The answer is {}.\\\\\\\", result);\\\"}\"}"
}
],
"string": [
{
"Scalar": 84
},
{
"Scalar": 104
},
{
"Scalar": 101
},
{
"Scalar": 32
},
{
"Scalar": 97
},
{
"Scalar": 110
},
{
"Scalar": 115
},
{
"Scalar": 119
},
{
"Scalar": 101
},
{
"Scalar": 114
},
{
"Scalar": 32
},
{
"Scalar": 105
},
{
"Scalar": 115
},
{
"Scalar": 32
},
{
"Scalar": 123
},
{
"Scalar": 125
},
{
"Scalar": 46
}
]
}
}
}
},
{
"Return": {
"expression": {
"Identifier": "{\"name\":\"result\",\"span\":\"{\\\"line_start\\\":19,\\\"line_stop\\\":19,\\\"col_start\\\":12,\\\"col_stop\\\":18,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" return result;\\\"}\"}"
}
}
}
]
},
"identifier": "{\"name\":\"main\",\"span\":\"{\\\"line_start\\\":4,\\\"line_stop\\\":4,\\\"col_start\\\":10,\\\"col_stop\\\":14,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"function main(puzzle: [u8; (3, 3)], answer: [u8; (3, 3)]) -> bool {\\\"}\"}",
"input": [
{
"Variable": {
"const_": false,
"identifier": "{\"name\":\"puzzle\",\"span\":\"{\\\"line_start\\\":4,\\\"line_stop\\\":4,\\\"col_start\\\":15,\\\"col_stop\\\":21,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"function main(puzzle: [u8; (3, 3)], answer: [u8; (3, 3)]) -> bool {\\\"}\"}",
"mutable": true,
"type_": {
"Array": [
{
"IntegerType": "U8"
},
[
{
"value": "3"
},
{
"value": "3"
}
]
]
}
}
},
{
"Variable": {
"const_": false,
"identifier": "{\"name\":\"answer\",\"span\":\"{\\\"line_start\\\":4,\\\"line_stop\\\":4,\\\"col_start\\\":37,\\\"col_stop\\\":43,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"function main(puzzle: [u8; (3, 3)], answer: [u8; (3, 3)]) -> bool {\\\"}\"}",
"mutable": true,
"type_": {
"Array": [
{
"IntegerType": "U8"
},
[
{
"value": "3"
},
{
"value": "3"
}
]
]
}
}
}
],
"output": "Boolean"
},
"{\"name\":\"test_solve_fail\",\"span\":\"{\\\"line_start\\\":42,\\\"line_stop\\\":42,\\\"col_start\\\":10,\\\"col_stop\\\":25,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"function test_solve_fail() {\\\"}\"}": {
"annotations": [
{
"arguments": [],
"name": "{\"name\":\"test\",\"span\":\"{\\\"line_start\\\":41,\\\"line_stop\\\":41,\\\"col_start\\\":2,\\\"col_stop\\\":6,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"@test\\\"}\"}"
}
],
"block": {
"statements": [
{
"Definition": {
"declaration_type": "Let",
"type_": {
"Array": [
{
"IntegerType": "U8"
},
[
{
"value": "3"
},
{
"value": "3"
}
]
]
},
"value": {
"ArrayInline": {
"elements": [
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"2",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
}
]
}
}
},
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"6",
{}
]
}
}
}
]
}
}
},
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"8",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
}
]
}
}
}
]
}
},
"variable_names": [
{
"identifier": "{\"name\":\"puzzle\",\"span\":\"{\\\"line_start\\\":43,\\\"line_stop\\\":43,\\\"col_start\\\":9,\\\"col_stop\\\":15,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let puzzle: [u8; (3, 3)] = [[0, 2, 0],\\\"}\"}",
"mutable": true
}
]
}
},
{
"Definition": {
"declaration_type": "Let",
"type_": {
"Array": [
{
"IntegerType": "U8"
},
[
{
"value": "3"
},
{
"value": "3"
}
]
]
},
"value": {
"ArrayInline": {
"elements": [
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"1",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"2",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"3",
{}
]
}
}
}
]
}
}
},
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"4",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"5",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"6",
{}
]
}
}
}
]
}
}
},
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"7",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"8",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"8",
{}
]
}
}
}
]
}
}
}
]
}
},
"variable_names": [
{
"identifier": "{\"name\":\"answer\",\"span\":\"{\\\"line_start\\\":47,\\\"line_stop\\\":47,\\\"col_start\\\":9,\\\"col_stop\\\":15,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let answer: [u8; (3, 3)] = [[1, 2, 3],\\\"}\"}",
"mutable": true
}
]
}
},
{
"Definition": {
"declaration_type": "Let",
"type_": null,
"value": {
"Call": {
"arguments": [
{
"Identifier": "{\"name\":\"puzzle\",\"span\":\"{\\\"line_start\\\":52,\\\"line_stop\\\":52,\\\"col_start\\\":23,\\\"col_stop\\\":29,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}"
},
{
"Identifier": "{\"name\":\"answer\",\"span\":\"{\\\"line_start\\\":52,\\\"line_stop\\\":52,\\\"col_start\\\":31,\\\"col_stop\\\":37,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}"
}
],
"function": {
"Identifier": "{\"name\":\"main\",\"span\":\"{\\\"line_start\\\":52,\\\"line_stop\\\":52,\\\"col_start\\\":18,\\\"col_stop\\\":22,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}"
}
}
},
"variable_names": [
{
"identifier": "{\"name\":\"result\",\"span\":\"{\\\"line_start\\\":52,\\\"line_stop\\\":52,\\\"col_start\\\":9,\\\"col_stop\\\":15,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}",
"mutable": true
}
]
}
},
{
"Console": {
"function": {
"Assert": {
"Binary": {
"left": {
"Value": {
"Boolean": [
"false",
{}
]
}
},
"op": "Eq",
"right": {
"Identifier": "{\"name\":\"result\",\"span\":\"{\\\"line_start\\\":55,\\\"line_stop\\\":55,\\\"col_start\\\":29,\\\"col_stop\\\":35,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" console.assert(false == result);\\\"}\"}"
}
}
}
}
}
}
]
},
"identifier": "{\"name\":\"test_solve_fail\",\"span\":\"{\\\"line_start\\\":42,\\\"line_stop\\\":42,\\\"col_start\\\":10,\\\"col_stop\\\":25,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"function test_solve_fail() {\\\"}\"}",
"input": [],
"output": null
},
"{\"name\":\"test_solve_pass\",\"span\":\"{\\\"line_start\\\":24,\\\"line_stop\\\":24,\\\"col_start\\\":10,\\\"col_stop\\\":25,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"function test_solve_pass() {\\\"}\"}": {
"annotations": [
{
"arguments": [],
"name": "{\"name\":\"test\",\"span\":\"{\\\"line_start\\\":23,\\\"line_stop\\\":23,\\\"col_start\\\":2,\\\"col_stop\\\":6,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"@test\\\"}\"}"
}
],
"block": {
"statements": [
{
"Definition": {
"declaration_type": "Let",
"type_": {
"Array": [
{
"IntegerType": "U8"
},
[
{
"value": "3"
},
{
"value": "3"
}
]
]
},
"value": {
"ArrayInline": {
"elements": [
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"2",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
}
]
}
}
},
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"6",
{}
]
}
}
}
]
}
}
},
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"0",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"8",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"9",
{}
]
}
}
}
]
}
}
}
]
}
},
"variable_names": [
{
"identifier": "{\"name\":\"puzzle\",\"span\":\"{\\\"line_start\\\":25,\\\"line_stop\\\":25,\\\"col_start\\\":9,\\\"col_stop\\\":15,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let puzzle: [u8; (3, 3)] = [[0, 2, 0],\\\"}\"}",
"mutable": true
}
]
}
},
{
"Definition": {
"declaration_type": "Let",
"type_": {
"Array": [
{
"IntegerType": "U8"
},
[
{
"value": "3"
},
{
"value": "3"
}
]
]
},
"value": {
"ArrayInline": {
"elements": [
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"1",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"2",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"3",
{}
]
}
}
}
]
}
}
},
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"4",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"5",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"6",
{}
]
}
}
}
]
}
}
},
{
"Expression": {
"ArrayInline": {
"elements": [
{
"Expression": {
"Value": {
"Implicit": [
"7",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"8",
{}
]
}
}
},
{
"Expression": {
"Value": {
"Implicit": [
"9",
{}
]
}
}
}
]
}
}
}
]
}
},
"variable_names": [
{
"identifier": "{\"name\":\"answer\",\"span\":\"{\\\"line_start\\\":29,\\\"line_stop\\\":29,\\\"col_start\\\":9,\\\"col_stop\\\":15,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let answer: [u8; (3, 3)] = [[1, 2, 3],\\\"}\"}",
"mutable": true
}
]
}
},
{
"Definition": {
"declaration_type": "Let",
"type_": null,
"value": {
"Call": {
"arguments": [
{
"Identifier": "{\"name\":\"puzzle\",\"span\":\"{\\\"line_start\\\":34,\\\"line_stop\\\":34,\\\"col_start\\\":23,\\\"col_stop\\\":29,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}"
},
{
"Identifier": "{\"name\":\"answer\",\"span\":\"{\\\"line_start\\\":34,\\\"line_stop\\\":34,\\\"col_start\\\":31,\\\"col_stop\\\":37,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}"
}
],
"function": {
"Identifier": "{\"name\":\"main\",\"span\":\"{\\\"line_start\\\":34,\\\"line_stop\\\":34,\\\"col_start\\\":18,\\\"col_stop\\\":22,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}"
}
}
},
"variable_names": [
{
"identifier": "{\"name\":\"result\",\"span\":\"{\\\"line_start\\\":34,\\\"line_stop\\\":34,\\\"col_start\\\":9,\\\"col_stop\\\":15,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}",
"mutable": true
}
]
}
},
{
"Console": {
"function": {
"Assert": {
"Binary": {
"left": {
"Value": {
"Boolean": [
"true",
{}
]
}
},
"op": "Eq",
"right": {
"Identifier": "{\"name\":\"result\",\"span\":\"{\\\"line_start\\\":37,\\\"line_stop\\\":37,\\\"col_start\\\":28,\\\"col_stop\\\":34,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" console.assert(true == result);\\\"}\"}"
}
}
}
}
}
}
]
},
"identifier": "{\"name\":\"test_solve_pass\",\"span\":\"{\\\"line_start\\\":24,\\\"line_stop\\\":24,\\\"col_start\\\":10,\\\"col_stop\\\":25,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"function test_solve_pass() {\\\"}\"}",
"input": [],
"output": null
},
"{\"name\":\"test_solve_with_input\",\"span\":\"{\\\"line_start\\\":60,\\\"line_stop\\\":60,\\\"col_start\\\":10,\\\"col_stop\\\":31,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"function test_solve_with_input(\\\"}\"}": {
"annotations": [
{
"arguments": [
"test_input"
],
"name": "{\"name\":\"test\",\"span\":\"{\\\"line_start\\\":59,\\\"line_stop\\\":59,\\\"col_start\\\":2,\\\"col_stop\\\":6,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"@test(test_input)\\\"}\"}"
}
],
"block": {
"statements": [
{
"Definition": {
"declaration_type": "Let",
"type_": null,
"value": {
"Call": {
"arguments": [
{
"Identifier": "{\"name\":\"puzzle\",\"span\":\"{\\\"line_start\\\":66,\\\"line_stop\\\":66,\\\"col_start\\\":23,\\\"col_stop\\\":29,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}"
},
{
"Identifier": "{\"name\":\"answer\",\"span\":\"{\\\"line_start\\\":66,\\\"line_stop\\\":66,\\\"col_start\\\":31,\\\"col_stop\\\":37,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}"
}
],
"function": {
"Identifier": "{\"name\":\"main\",\"span\":\"{\\\"line_start\\\":66,\\\"line_stop\\\":66,\\\"col_start\\\":18,\\\"col_stop\\\":22,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}"
}
}
},
"variable_names": [
{
"identifier": "{\"name\":\"result\",\"span\":\"{\\\"line_start\\\":66,\\\"line_stop\\\":66,\\\"col_start\\\":9,\\\"col_stop\\\":15,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" let result = main(puzzle, answer);\\\"}\"}",
"mutable": true
}
]
}
},
{
"Console": {
"function": {
"Log": {
"parameters": [
{
"Identifier": "{\"name\":\"expected\",\"span\":\"{\\\"line_start\\\":68,\\\"line_stop\\\":68,\\\"col_start\\\":40,\\\"col_stop\\\":48,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" console.log(\\\\\\\"expected {}, got {}\\\\\\\", expected, result);\\\"}\"}"
},
{
"Identifier": "{\"name\":\"result\",\"span\":\"{\\\"line_start\\\":68,\\\"line_stop\\\":68,\\\"col_start\\\":50,\\\"col_stop\\\":56,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" console.log(\\\\\\\"expected {}, got {}\\\\\\\", expected, result);\\\"}\"}"
}
],
"string": [
{
"Scalar": 101
},
{
"Scalar": 120
},
{
"Scalar": 112
},
{
"Scalar": 101
},
{
"Scalar": 99
},
{
"Scalar": 116
},
{
"Scalar": 101
},
{
"Scalar": 100
},
{
"Scalar": 32
},
{
"Scalar": 123
},
{
"Scalar": 125
},
{
"Scalar": 44
},
{
"Scalar": 32
},
{
"Scalar": 103
},
{
"Scalar": 111
},
{
"Scalar": 116
},
{
"Scalar": 32
},
{
"Scalar": 123
},
{
"Scalar": 125
}
]
}
}
}
},
{
"Console": {
"function": {
"Assert": {
"Binary": {
"left": {
"Identifier": "{\"name\":\"expected\",\"span\":\"{\\\"line_start\\\":70,\\\"line_stop\\\":70,\\\"col_start\\\":20,\\\"col_stop\\\":28,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" console.assert(expected == result);\\\"}\"}"
},
"op": "Eq",
"right": {
"Identifier": "{\"name\":\"result\",\"span\":\"{\\\"line_start\\\":70,\\\"line_stop\\\":70,\\\"col_start\\\":32,\\\"col_stop\\\":38,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" console.assert(expected == result);\\\"}\"}"
}
}
}
}
}
}
]
},
"identifier": "{\"name\":\"test_solve_with_input\",\"span\":\"{\\\"line_start\\\":60,\\\"line_stop\\\":60,\\\"col_start\\\":10,\\\"col_stop\\\":31,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"function test_solve_with_input(\\\"}\"}",
"input": [
{
"Variable": {
"const_": false,
"identifier": "{\"name\":\"puzzle\",\"span\":\"{\\\"line_start\\\":61,\\\"line_stop\\\":61,\\\"col_start\\\":5,\\\"col_stop\\\":11,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" puzzle: [u8; (3, 3)],\\\"}\"}",
"mutable": true,
"type_": {
"Array": [
{
"IntegerType": "U8"
},
[
{
"value": "3"
},
{
"value": "3"
}
]
]
}
}
},
{
"Variable": {
"const_": false,
"identifier": "{\"name\":\"answer\",\"span\":\"{\\\"line_start\\\":62,\\\"line_stop\\\":62,\\\"col_start\\\":5,\\\"col_stop\\\":11,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" answer: [u8; (3, 3)],\\\"}\"}",
"mutable": true,
"type_": {
"Array": [
{
"IntegerType": "U8"
},
[
{
"value": "3"
},
{
"value": "3"
}
]
]
}
}
},
{
"Variable": {
"const_": false,
"identifier": "{\"name\":\"expected\",\"span\":\"{\\\"line_start\\\":63,\\\"line_stop\\\":63,\\\"col_start\\\":5,\\\"col_stop\\\":13,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\" expected: bool\\\"}\"}",
"mutable": true,
"type_": "Boolean"
}
}
],
"output": null
}
},
"global_consts": {},
"import_statements": [
{
"package_or_packages": {
"Package": {
"access": {
"Symbol": {
"alias": null,
"symbol": "{\"name\":\"SillySudoku\",\"span\":\"{\\\"line_start\\\":1,\\\"line_stop\\\":1,\\\"col_start\\\":12,\\\"col_stop\\\":23,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"import lib.SillySudoku;\\\"}\"}"
}
},
"name": "{\"name\":\"lib\",\"span\":\"{\\\"line_start\\\":1,\\\"line_stop\\\":1,\\\"col_start\\\":8,\\\"col_stop\\\":11,\\\"path\\\":\\\"test\\\",\\\"content\\\":\\\"import lib.SillySudoku;\\\"}\"}"
}
}
}
],
"imports": {},
"name": ""
}