--- source: kcl/src/simulation_tests.rs description: Result of parsing boolean_logical_and.kcl --- { "Ok": { "body": [ { "declaration": { "end": 17, "id": { "end": 2, "name": "aa", "start": 0, "type": "Identifier" }, "init": { "end": 17, "left": { "end": 9, "raw": "true", "start": 5, "type": "Literal", "type": "Literal", "value": true }, "operator": "&", "right": { "end": 17, "raw": "false", "start": 12, "type": "Literal", "type": "Literal", "value": false }, "start": 5, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 0, "type": "VariableDeclarator" }, "end": 17, "kind": "const", "start": 0, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "declaration": { "end": 48, "id": { "end": 19, "name": "a", "start": 18, "type": "Identifier" }, "init": { "cond": { "end": 27, "name": "aa", "start": 25, "type": "Identifier", "type": "Identifier" }, "digest": null, "else_ifs": [], "end": 48, "final_else": { "body": [ { "end": 46, "expression": { "end": 46, "raw": "2", "start": 45, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 45, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "end": 47, "start": 45 }, "start": 22, "then_val": { "body": [ { "end": 33, "expression": { "end": 33, "raw": "1", "start": 32, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 32, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "end": 34, "start": 32 }, "type": "IfExpression", "type": "IfExpression" }, "start": 18, "type": "VariableDeclarator" }, "end": 48, "kind": "const", "start": 18, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "end": 128, "expression": { "arguments": [ { "end": 62, "left": { "end": 57, "name": "a", "start": 56, "type": "Identifier", "type": "Identifier" }, "operator": "==", "right": { "end": 62, "raw": "2", "start": 61, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 56, "type": "BinaryExpression", "type": "BinaryExpression" }, { "end": 127, "raw": "\"right branch of and is false makes the whole expression false\"", "start": 64, "type": "Literal", "type": "Literal", "value": "right branch of and is false makes the whole expression false" } ], "callee": { "end": 55, "name": "assert", "start": 49, "type": "Identifier" }, "end": 128, "start": 49, "type": "CallExpression", "type": "CallExpression" }, "start": 49, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "declaration": { "end": 147, "id": { "end": 132, "name": "bb", "start": 130, "type": "Identifier" }, "init": { "end": 147, "left": { "end": 140, "raw": "false", "start": 135, "type": "Literal", "type": "Literal", "value": false }, "operator": "&", "right": { "end": 147, "raw": "true", "start": 143, "type": "Literal", "type": "Literal", "value": true }, "start": 135, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 130, "type": "VariableDeclarator" }, "end": 147, "kind": "const", "start": 130, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "declaration": { "end": 178, "id": { "end": 149, "name": "b", "start": 148, "type": "Identifier" }, "init": { "cond": { "end": 157, "name": "bb", "start": 155, "type": "Identifier", "type": "Identifier" }, "digest": null, "else_ifs": [], "end": 178, "final_else": { "body": [ { "end": 176, "expression": { "end": 176, "raw": "2", "start": 175, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 175, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "end": 177, "start": 175 }, "start": 152, "then_val": { "body": [ { "end": 163, "expression": { "end": 163, "raw": "1", "start": 162, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 162, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "end": 164, "start": 162 }, "type": "IfExpression", "type": "IfExpression" }, "start": 148, "type": "VariableDeclarator" }, "end": 178, "kind": "const", "start": 148, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "end": 257, "expression": { "arguments": [ { "end": 192, "left": { "end": 187, "name": "b", "start": 186, "type": "Identifier", "type": "Identifier" }, "operator": "==", "right": { "end": 192, "raw": "2", "start": 191, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 186, "type": "BinaryExpression", "type": "BinaryExpression" }, { "end": 256, "raw": "\"left branch of and is false makes the whole expression false\"", "start": 194, "type": "Literal", "type": "Literal", "value": "left branch of and is false makes the whole expression false" } ], "callee": { "end": 185, "name": "assert", "start": 179, "type": "Identifier" }, "end": 257, "start": 179, "type": "CallExpression", "type": "CallExpression" }, "start": 179, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "declaration": { "end": 275, "id": { "end": 261, "name": "cc", "start": 259, "type": "Identifier" }, "init": { "end": 275, "left": { "end": 268, "raw": "true", "start": 264, "type": "Literal", "type": "Literal", "value": true }, "operator": "&", "right": { "end": 275, "raw": "true", "start": 271, "type": "Literal", "type": "Literal", "value": true }, "start": 264, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 259, "type": "VariableDeclarator" }, "end": 275, "kind": "const", "start": 259, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "declaration": { "end": 306, "id": { "end": 277, "name": "c", "start": 276, "type": "Identifier" }, "init": { "cond": { "end": 285, "name": "cc", "start": 283, "type": "Identifier", "type": "Identifier" }, "digest": null, "else_ifs": [], "end": 306, "final_else": { "body": [ { "end": 304, "expression": { "end": 304, "raw": "2", "start": 303, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 303, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "end": 305, "start": 303 }, "start": 280, "then_val": { "body": [ { "end": 291, "expression": { "end": 291, "raw": "1", "start": 290, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 290, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "end": 292, "start": 290 }, "type": "IfExpression", "type": "IfExpression" }, "start": 276, "type": "VariableDeclarator" }, "end": 306, "kind": "const", "start": 276, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "end": 386, "expression": { "arguments": [ { "end": 320, "left": { "end": 315, "name": "c", "start": 314, "type": "Identifier", "type": "Identifier" }, "operator": "==", "right": { "end": 320, "raw": "1", "start": 319, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 314, "type": "BinaryExpression", "type": "BinaryExpression" }, { "end": 385, "raw": "\"both branches of and are true makes the whole expression true\"", "start": 322, "type": "Literal", "type": "Literal", "value": "both branches of and are true makes the whole expression true" } ], "callee": { "end": 313, "name": "assert", "start": 307, "type": "Identifier" }, "end": 386, "start": 307, "type": "CallExpression", "type": "CallExpression" }, "start": 307, "type": "ExpressionStatement", "type": "ExpressionStatement" }, { "declaration": { "end": 406, "id": { "end": 390, "name": "dd", "start": 388, "type": "Identifier" }, "init": { "end": 406, "left": { "end": 398, "raw": "false", "start": 393, "type": "Literal", "type": "Literal", "value": false }, "operator": "&", "right": { "end": 406, "raw": "false", "start": 401, "type": "Literal", "type": "Literal", "value": false }, "start": 393, "type": "BinaryExpression", "type": "BinaryExpression" }, "start": 388, "type": "VariableDeclarator" }, "end": 406, "kind": "const", "start": 388, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "declaration": { "end": 437, "id": { "end": 408, "name": "d", "start": 407, "type": "Identifier" }, "init": { "cond": { "end": 416, "name": "dd", "start": 414, "type": "Identifier", "type": "Identifier" }, "digest": null, "else_ifs": [], "end": 437, "final_else": { "body": [ { "end": 435, "expression": { "end": 435, "raw": "2", "start": 434, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 434, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "end": 436, "start": 434 }, "start": 411, "then_val": { "body": [ { "end": 422, "expression": { "end": 422, "raw": "1", "start": 421, "type": "Literal", "type": "Literal", "value": { "value": 1.0, "suffix": "None" } }, "start": 421, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "end": 423, "start": 421 }, "type": "IfExpression", "type": "IfExpression" }, "start": 407, "type": "VariableDeclarator" }, "end": 437, "kind": "const", "start": 407, "type": "VariableDeclaration", "type": "VariableDeclaration" }, { "end": 519, "expression": { "arguments": [ { "end": 451, "left": { "end": 446, "name": "d", "start": 445, "type": "Identifier", "type": "Identifier" }, "operator": "==", "right": { "end": 451, "raw": "2", "start": 450, "type": "Literal", "type": "Literal", "value": { "value": 2.0, "suffix": "None" } }, "start": 445, "type": "BinaryExpression", "type": "BinaryExpression" }, { "end": 518, "raw": "\"both branches of and are false makes the whole expression false\"", "start": 453, "type": "Literal", "type": "Literal", "value": "both branches of and are false makes the whole expression false" } ], "callee": { "end": 444, "name": "assert", "start": 438, "type": "Identifier" }, "end": 519, "start": 438, "type": "CallExpression", "type": "CallExpression" }, "start": 438, "type": "ExpressionStatement", "type": "ExpressionStatement" } ], "end": 520, "nonCodeMeta": { "nonCodeNodes": { "2": [ { "end": 130, "start": 128, "type": "NonCodeNode", "value": { "type": "newLine" } } ], "5": [ { "end": 259, "start": 257, "type": "NonCodeNode", "value": { "type": "newLine" } } ], "8": [ { "end": 388, "start": 386, "type": "NonCodeNode", "value": { "type": "newLine" } } ] }, "startNodes": [] }, "start": 0 } }