2274 lines
		
	
	
		
			70 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			2274 lines
		
	
	
		
			70 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ---
 | |
| source: kcl-lib/src/simulation_tests.rs
 | |
| description: Result of parsing walkie-talkie.kcl
 | |
| ---
 | |
| {
 | |
|   "Ok": {
 | |
|     "body": [
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "path": {
 | |
|           "type": "Kcl",
 | |
|           "filename": "parameters.kcl"
 | |
|         },
 | |
|         "preComments": [
 | |
|           "// import constants"
 | |
|         ],
 | |
|         "selector": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "start": 0,
 | |
|           "type": "Glob"
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ImportStatement",
 | |
|         "type": "ImportStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "path": {
 | |
|           "type": "Kcl",
 | |
|           "filename": "body.kcl"
 | |
|         },
 | |
|         "preComments": [
 | |
|           "",
 | |
|           "",
 | |
|           "// import parts and parameters"
 | |
|         ],
 | |
|         "selector": {
 | |
|           "type": "None",
 | |
|           "alias": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "body",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           }
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ImportStatement",
 | |
|         "type": "ImportStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "path": {
 | |
|           "type": "Kcl",
 | |
|           "filename": "case.kcl"
 | |
|         },
 | |
|         "selector": {
 | |
|           "type": "None",
 | |
|           "alias": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "case",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           }
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ImportStatement",
 | |
|         "type": "ImportStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "path": {
 | |
|           "type": "Kcl",
 | |
|           "filename": "antenna.kcl"
 | |
|         },
 | |
|         "selector": {
 | |
|           "type": "None",
 | |
|           "alias": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "antenna",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           }
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ImportStatement",
 | |
|         "type": "ImportStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "path": {
 | |
|           "type": "Kcl",
 | |
|           "filename": "talk-button.kcl"
 | |
|         },
 | |
|         "selector": {
 | |
|           "type": "None",
 | |
|           "alias": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "talkButton",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           }
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ImportStatement",
 | |
|         "type": "ImportStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "path": {
 | |
|           "type": "Kcl",
 | |
|           "filename": "knob.kcl"
 | |
|         },
 | |
|         "selector": {
 | |
|           "type": "None",
 | |
|           "alias": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "knob",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           }
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ImportStatement",
 | |
|         "type": "ImportStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "path": {
 | |
|           "type": "Kcl",
 | |
|           "filename": "button.kcl"
 | |
|         },
 | |
|         "selector": {
 | |
|           "type": "List",
 | |
|           "items": [
 | |
|             {
 | |
|               "alias": null,
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": "button",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "start": 0,
 | |
|               "type": "ImportItem"
 | |
|             }
 | |
|           ]
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ImportStatement",
 | |
|         "type": "ImportStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "expression": {
 | |
|           "abs_path": false,
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "name": {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "name": "body",
 | |
|             "start": 0,
 | |
|             "type": "Identifier"
 | |
|           },
 | |
|           "path": [],
 | |
|           "start": 0,
 | |
|           "type": "Name",
 | |
|           "type": "Name"
 | |
|         },
 | |
|         "preComments": [
 | |
|           "",
 | |
|           "",
 | |
|           "// Import the body"
 | |
|         ],
 | |
|         "start": 0,
 | |
|         "type": "ExpressionStatement",
 | |
|         "type": "ExpressionStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "expression": {
 | |
|           "body": [
 | |
|             {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": "antenna",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name",
 | |
|               "type": "Name"
 | |
|             },
 | |
|             {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "x",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "argument": {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": "width",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         },
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "operator": "-",
 | |
|                         "start": 0,
 | |
|                         "type": "UnaryExpression",
 | |
|                         "type": "UnaryExpression"
 | |
|                       },
 | |
|                       "operator": "/",
 | |
|                       "right": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "2",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 2.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     },
 | |
|                     "operator": "+",
 | |
|                     "right": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": ".45",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.45,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "y",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "argument": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "0.10",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.1,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "operator": "-",
 | |
|                     "start": 0,
 | |
|                     "type": "UnaryExpression",
 | |
|                     "type": "UnaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "z",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "height",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     },
 | |
|                     "operator": "/",
 | |
|                     "right": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "2",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 2.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "translate",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": null
 | |
|             }
 | |
|           ],
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "nonCodeMeta": {
 | |
|             "nonCodeNodes": {
 | |
|               "1": [
 | |
|                 {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "NonCodeNode",
 | |
|                   "value": {
 | |
|                     "type": "newLineBlockComment",
 | |
|                     "value": "Import the case",
 | |
|                     "style": "line"
 | |
|                   }
 | |
|                 }
 | |
|               ]
 | |
|             },
 | |
|             "startNodes": []
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "PipeExpression",
 | |
|           "type": "PipeExpression"
 | |
|         },
 | |
|         "preComments": [
 | |
|           "",
 | |
|           "",
 | |
|           "// Import the antenna"
 | |
|         ],
 | |
|         "start": 0,
 | |
|         "type": "ExpressionStatement",
 | |
|         "type": "ExpressionStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "expression": {
 | |
|           "body": [
 | |
|             {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": "case",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name",
 | |
|               "type": "Name"
 | |
|             },
 | |
|             {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "x",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "0",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": {
 | |
|                       "value": 0.0,
 | |
|                       "suffix": "None"
 | |
|                     }
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "y",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "argument": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "1",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 1.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "operator": "-",
 | |
|                     "start": 0,
 | |
|                     "type": "UnaryExpression",
 | |
|                     "type": "UnaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "z",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "0",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": {
 | |
|                       "value": 0.0,
 | |
|                       "suffix": "None"
 | |
|                     }
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "translate",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": null
 | |
|             }
 | |
|           ],
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "nonCodeMeta": {
 | |
|             "nonCodeNodes": {
 | |
|               "1": [
 | |
|                 {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "NonCodeNode",
 | |
|                   "value": {
 | |
|                     "type": "newLineBlockComment",
 | |
|                     "value": "Import the talk button",
 | |
|                     "style": "line"
 | |
|                   }
 | |
|                 }
 | |
|               ]
 | |
|             },
 | |
|             "startNodes": []
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "PipeExpression",
 | |
|           "type": "PipeExpression"
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ExpressionStatement",
 | |
|         "type": "ExpressionStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "expression": {
 | |
|           "body": [
 | |
|             {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": "talkButton",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name",
 | |
|               "type": "Name"
 | |
|             },
 | |
|             {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "x",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "width",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     },
 | |
|                     "operator": "/",
 | |
|                     "right": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "2",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 2.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "y",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "argument": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "thickness",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     },
 | |
|                     "operator": "/",
 | |
|                     "right": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "2",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 2.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "z",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": ".5",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": {
 | |
|                       "value": 0.5,
 | |
|                       "suffix": "None"
 | |
|                     }
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "translate",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": null
 | |
|             }
 | |
|           ],
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "nonCodeMeta": {
 | |
|             "nonCodeNodes": {
 | |
|               "1": [
 | |
|                 {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "NonCodeNode",
 | |
|                   "value": {
 | |
|                     "type": "newLineBlockComment",
 | |
|                     "value": "Import the frequency knob",
 | |
|                     "style": "line"
 | |
|                   }
 | |
|                 }
 | |
|               ]
 | |
|             },
 | |
|             "startNodes": []
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "PipeExpression",
 | |
|           "type": "PipeExpression"
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ExpressionStatement",
 | |
|         "type": "ExpressionStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "expression": {
 | |
|           "body": [
 | |
|             {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": "knob",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name",
 | |
|               "type": "Name"
 | |
|             },
 | |
|             {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "x",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "width",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "operator": "/",
 | |
|                       "right": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "2",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 2.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     },
 | |
|                     "operator": "-",
 | |
|                     "right": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "0.70",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 0.7,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "y",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "argument": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "thickness",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "operator": "-",
 | |
|                       "start": 0,
 | |
|                       "type": "UnaryExpression",
 | |
|                       "type": "UnaryExpression"
 | |
|                     },
 | |
|                     "operator": "/",
 | |
|                     "right": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "2",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 2.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "z",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "height",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     },
 | |
|                     "operator": "/",
 | |
|                     "right": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "2",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 2.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "translate",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": null
 | |
|             }
 | |
|           ],
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "nonCodeMeta": {
 | |
|             "nonCodeNodes": {
 | |
|               "1": [
 | |
|                 {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "start": 0,
 | |
|                   "type": "NonCodeNode",
 | |
|                   "value": {
 | |
|                     "type": "newLineBlockComment",
 | |
|                     "value": "Import the buttons",
 | |
|                     "style": "line"
 | |
|                   }
 | |
|                 }
 | |
|               ]
 | |
|             },
 | |
|             "startNodes": []
 | |
|           },
 | |
|           "start": 0,
 | |
|           "type": "PipeExpression",
 | |
|           "type": "PipeExpression"
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ExpressionStatement",
 | |
|         "type": "ExpressionStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "expression": {
 | |
|           "body": [
 | |
|             {
 | |
|               "arguments": [],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "button",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpression",
 | |
|               "type": "CallExpression"
 | |
|             },
 | |
|             {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "x",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "argument": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "left": {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": "screenWidth",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         },
 | |
|                         "operator": "/",
 | |
|                         "right": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "2",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 2.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         "start": 0,
 | |
|                         "type": "BinaryExpression",
 | |
|                         "type": "BinaryExpression"
 | |
|                       },
 | |
|                       "operator": "+",
 | |
|                       "right": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "tolerance",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     },
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "operator": "-",
 | |
|                     "start": 0,
 | |
|                     "type": "UnaryExpression",
 | |
|                     "type": "UnaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "y",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "argument": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "1",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 1.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "operator": "-",
 | |
|                     "start": 0,
 | |
|                     "type": "UnaryExpression",
 | |
|                     "type": "UnaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "z",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "abs_path": false,
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": "screenYPosition",
 | |
|                       "start": 0,
 | |
|                       "type": "Identifier"
 | |
|                     },
 | |
|                     "path": [],
 | |
|                     "start": 0,
 | |
|                     "type": "Name",
 | |
|                     "type": "Name"
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "translate",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": null
 | |
|             }
 | |
|           ],
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "start": 0,
 | |
|           "type": "PipeExpression",
 | |
|           "type": "PipeExpression"
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ExpressionStatement",
 | |
|         "type": "ExpressionStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "expression": {
 | |
|           "body": [
 | |
|             {
 | |
|               "arguments": [],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "button",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpression",
 | |
|               "type": "CallExpression"
 | |
|             },
 | |
|             {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "x",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "argument": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "left": {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": "screenWidth",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         },
 | |
|                         "operator": "/",
 | |
|                         "right": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "2",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 2.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         "start": 0,
 | |
|                         "type": "BinaryExpression",
 | |
|                         "type": "BinaryExpression"
 | |
|                       },
 | |
|                       "operator": "+",
 | |
|                       "right": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "tolerance",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     },
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "operator": "-",
 | |
|                     "start": 0,
 | |
|                     "type": "UnaryExpression",
 | |
|                     "type": "UnaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "y",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "argument": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "1",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 1.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "operator": "-",
 | |
|                     "start": 0,
 | |
|                     "type": "UnaryExpression",
 | |
|                     "type": "UnaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "z",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "screenYPosition",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "operator": "-",
 | |
|                       "right": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "buttonHeight",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     },
 | |
|                     "operator": "-",
 | |
|                     "right": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "tolerance",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "operator": "*",
 | |
|                       "right": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "2",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 2.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "translate",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": null
 | |
|             }
 | |
|           ],
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "start": 0,
 | |
|           "type": "PipeExpression",
 | |
|           "type": "PipeExpression"
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ExpressionStatement",
 | |
|         "type": "ExpressionStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "expression": {
 | |
|           "body": [
 | |
|             {
 | |
|               "arguments": [],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "button",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpression",
 | |
|               "type": "CallExpression"
 | |
|             },
 | |
|             {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "roll",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "0",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": {
 | |
|                       "value": 0.0,
 | |
|                       "suffix": "None"
 | |
|                     }
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "pitch",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "180",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": {
 | |
|                       "value": 180.0,
 | |
|                       "suffix": "None"
 | |
|                     }
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "yaw",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "0",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": {
 | |
|                       "value": 0.0,
 | |
|                       "suffix": "None"
 | |
|                     }
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "rotate",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "PipeSubstitution",
 | |
|                 "type": "PipeSubstitution"
 | |
|               }
 | |
|             },
 | |
|             {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "x",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "screenWidth",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "operator": "/",
 | |
|                       "right": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "2",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 2.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     },
 | |
|                     "operator": "+",
 | |
|                     "right": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "tolerance",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "y",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "argument": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "1",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 1.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "operator": "-",
 | |
|                     "start": 0,
 | |
|                     "type": "UnaryExpression",
 | |
|                     "type": "UnaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "z",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "screenYPosition",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     },
 | |
|                     "operator": "-",
 | |
|                     "right": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "buttonHeight",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "global",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "true",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": true
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "translate",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": null
 | |
|             }
 | |
|           ],
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "start": 0,
 | |
|           "type": "PipeExpression",
 | |
|           "type": "PipeExpression"
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ExpressionStatement",
 | |
|         "type": "ExpressionStatement"
 | |
|       },
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "expression": {
 | |
|           "body": [
 | |
|             {
 | |
|               "arguments": [],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "button",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpression",
 | |
|               "type": "CallExpression"
 | |
|             },
 | |
|             {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "roll",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "0",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": {
 | |
|                       "value": 0.0,
 | |
|                       "suffix": "None"
 | |
|                     }
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "pitch",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "180",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": {
 | |
|                       "value": 180.0,
 | |
|                       "suffix": "None"
 | |
|                     }
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "yaw",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "0",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": {
 | |
|                       "value": 0.0,
 | |
|                       "suffix": "None"
 | |
|                     }
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "rotate",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "start": 0,
 | |
|                 "type": "PipeSubstitution",
 | |
|                 "type": "PipeSubstitution"
 | |
|               }
 | |
|             },
 | |
|             {
 | |
|               "arguments": [
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "x",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "screenWidth",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "operator": "/",
 | |
|                       "right": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "2",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 2.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     },
 | |
|                     "operator": "+",
 | |
|                     "right": {
 | |
|                       "abs_path": false,
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "name": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": "tolerance",
 | |
|                         "start": 0,
 | |
|                         "type": "Identifier"
 | |
|                       },
 | |
|                       "path": [],
 | |
|                       "start": 0,
 | |
|                       "type": "Name",
 | |
|                       "type": "Name"
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "y",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "argument": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "raw": "1",
 | |
|                       "start": 0,
 | |
|                       "type": "Literal",
 | |
|                       "type": "Literal",
 | |
|                       "value": {
 | |
|                         "value": 1.0,
 | |
|                         "suffix": "None"
 | |
|                       }
 | |
|                     },
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "operator": "-",
 | |
|                     "start": 0,
 | |
|                     "type": "UnaryExpression",
 | |
|                     "type": "UnaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "z",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "left": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "screenYPosition",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "operator": "-",
 | |
|                       "right": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "left": {
 | |
|                           "abs_path": false,
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": {
 | |
|                             "commentStart": 0,
 | |
|                             "end": 0,
 | |
|                             "name": "buttonHeight",
 | |
|                             "start": 0,
 | |
|                             "type": "Identifier"
 | |
|                           },
 | |
|                           "path": [],
 | |
|                           "start": 0,
 | |
|                           "type": "Name",
 | |
|                           "type": "Name"
 | |
|                         },
 | |
|                         "operator": "*",
 | |
|                         "right": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "raw": "2",
 | |
|                           "start": 0,
 | |
|                           "type": "Literal",
 | |
|                           "type": "Literal",
 | |
|                           "value": {
 | |
|                             "value": 2.0,
 | |
|                             "suffix": "None"
 | |
|                           }
 | |
|                         },
 | |
|                         "start": 0,
 | |
|                         "type": "BinaryExpression",
 | |
|                         "type": "BinaryExpression"
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     },
 | |
|                     "operator": "-",
 | |
|                     "right": {
 | |
|                       "commentStart": 0,
 | |
|                       "end": 0,
 | |
|                       "left": {
 | |
|                         "abs_path": false,
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "name": {
 | |
|                           "commentStart": 0,
 | |
|                           "end": 0,
 | |
|                           "name": "tolerance",
 | |
|                           "start": 0,
 | |
|                           "type": "Identifier"
 | |
|                         },
 | |
|                         "path": [],
 | |
|                         "start": 0,
 | |
|                         "type": "Name",
 | |
|                         "type": "Name"
 | |
|                       },
 | |
|                       "operator": "*",
 | |
|                       "right": {
 | |
|                         "commentStart": 0,
 | |
|                         "end": 0,
 | |
|                         "raw": "2",
 | |
|                         "start": 0,
 | |
|                         "type": "Literal",
 | |
|                         "type": "Literal",
 | |
|                         "value": {
 | |
|                           "value": 2.0,
 | |
|                           "suffix": "None"
 | |
|                         }
 | |
|                       },
 | |
|                       "start": 0,
 | |
|                       "type": "BinaryExpression",
 | |
|                       "type": "BinaryExpression"
 | |
|                     },
 | |
|                     "start": 0,
 | |
|                     "type": "BinaryExpression",
 | |
|                     "type": "BinaryExpression"
 | |
|                   }
 | |
|                 },
 | |
|                 {
 | |
|                   "type": "LabeledArg",
 | |
|                   "label": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "name": "global",
 | |
|                     "start": 0,
 | |
|                     "type": "Identifier"
 | |
|                   },
 | |
|                   "arg": {
 | |
|                     "commentStart": 0,
 | |
|                     "end": 0,
 | |
|                     "raw": "true",
 | |
|                     "start": 0,
 | |
|                     "type": "Literal",
 | |
|                     "type": "Literal",
 | |
|                     "value": true
 | |
|                   }
 | |
|                 }
 | |
|               ],
 | |
|               "callee": {
 | |
|                 "abs_path": false,
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": {
 | |
|                   "commentStart": 0,
 | |
|                   "end": 0,
 | |
|                   "name": "translate",
 | |
|                   "start": 0,
 | |
|                   "type": "Identifier"
 | |
|                 },
 | |
|                 "path": [],
 | |
|                 "start": 0,
 | |
|                 "type": "Name"
 | |
|               },
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "start": 0,
 | |
|               "type": "CallExpressionKw",
 | |
|               "type": "CallExpressionKw",
 | |
|               "unlabeled": null
 | |
|             }
 | |
|           ],
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "start": 0,
 | |
|           "type": "PipeExpression",
 | |
|           "type": "PipeExpression"
 | |
|         },
 | |
|         "start": 0,
 | |
|         "type": "ExpressionStatement",
 | |
|         "type": "ExpressionStatement"
 | |
|       }
 | |
|     ],
 | |
|     "commentStart": 0,
 | |
|     "end": 0,
 | |
|     "innerAttrs": [
 | |
|       {
 | |
|         "commentStart": 0,
 | |
|         "end": 0,
 | |
|         "name": {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "name": "settings",
 | |
|           "start": 0,
 | |
|           "type": "Identifier"
 | |
|         },
 | |
|         "preComments": [
 | |
|           "// Walkie Talkie",
 | |
|           "// A portable, handheld two-way radio device that allows users to communicate wirelessly over short to medium distances. It operates on specific radio frequencies and features a push-to-talk button for transmitting messages, making it ideal for quick and reliable communication in outdoor, work, or emergency settings.",
 | |
|           "",
 | |
|           "",
 | |
|           "// set units"
 | |
|         ],
 | |
|         "properties": [
 | |
|           {
 | |
|             "commentStart": 0,
 | |
|             "end": 0,
 | |
|             "key": {
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": "defaultLengthUnit",
 | |
|               "start": 0,
 | |
|               "type": "Identifier"
 | |
|             },
 | |
|             "start": 0,
 | |
|             "type": "ObjectProperty",
 | |
|             "value": {
 | |
|               "abs_path": false,
 | |
|               "commentStart": 0,
 | |
|               "end": 0,
 | |
|               "name": {
 | |
|                 "commentStart": 0,
 | |
|                 "end": 0,
 | |
|                 "name": "in",
 | |
|                 "start": 0,
 | |
|                 "type": "Identifier"
 | |
|               },
 | |
|               "path": [],
 | |
|               "start": 0,
 | |
|               "type": "Name",
 | |
|               "type": "Name"
 | |
|             }
 | |
|           }
 | |
|         ],
 | |
|         "start": 0,
 | |
|         "type": "Annotation"
 | |
|       }
 | |
|     ],
 | |
|     "nonCodeMeta": {
 | |
|       "nonCodeNodes": {},
 | |
|       "startNodes": [
 | |
|         {
 | |
|           "commentStart": 0,
 | |
|           "end": 0,
 | |
|           "start": 0,
 | |
|           "type": "NonCodeNode",
 | |
|           "value": {
 | |
|             "type": "newLine"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     "start": 0
 | |
|   }
 | |
| }
 |