mirror of
https://github.com/AleoHQ/leo.git
synced 2024-12-21 08:31:33 +03:00
1323 lines
47 KiB
JSON
1323 lines
47 KiB
JSON
{
|
|
"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": ""
|
|
} |