1 {
   2     "type": "Program",
   3     "body": [
   4         {
   5             "type": "ExpressionStatement",
   6             "expression": {
   7                 "type": "AssignmentExpression",
   8                 "operator": "=",
   9                 "left": {
  10                     "type": "Identifier",
  11                     "name": "obj"
  12                 },
  13                 "right": {
  14                     "type": "ObjectExpression",
  15                     "properties": []
  16                 }
  17             }
  18         }
  19     ]
  20 }
  21 {
  22     "type": "Program",
  23     "body": [
  24         {
  25             "type": "ExpressionStatement",
  26             "expression": {
  27                 "type": "AssignmentExpression",
  28                 "operator": "=",
  29                 "left": {
  30                     "type": "Identifier",
  31                     "name": "p"
  32                 },
  33                 "right": {
  34                     "type": "ObjectExpression",
  35                     "properties": [
  36                         {
  37                             "key": {
  38                                 "type": "Identifier",
  39                                 "name": "x"
  40                             },
  41                             "value": {
  42                                 "type": "Literal",
  43                                 "value": 10
  44                             },
  45                             "kind": "init"
  46                         },
  47                         {
  48                             "key": {
  49                                 "type": "Identifier",
  50                                 "name": "y"
  51                             },
  52                             "value": {
  53                                 "type": "Literal",
  54                                 "value": 2
  55                             },
  56                             "kind": "init"
  57                         }
  58                     ]
  59                 }
  60             }
  61         }
  62     ]
  63 }
  64 {
  65     "type": "Program",
  66     "body": [
  67         {
  68             "type": "ExpressionStatement",
  69             "expression": {
  70                 "type": "AssignmentExpression",
  71                 "operator": "=",
  72                 "left": {
  73                     "type": "Identifier",
  74                     "name": "p"
  75                 },
  76                 "right": {
  77                     "type": "ObjectExpression",
  78                     "properties": [
  79                         {
  80                             "key": {
  81                                 "type": "Literal",
  82                                 "value": "x"
  83                             },
  84                             "value": {
  85                                 "type": "Literal",
  86                                 "value": 10
  87                             },
  88                             "kind": "init"
  89                         },
  90                         {
  91                             "key": {
  92                                 "type": "Literal",
  93                                 "value": "y"
  94                             },
  95                             "value": {
  96                                 "type": "Literal",
  97                                 "value": 2
  98                             },
  99                             "kind": "init"
 100                         }
 101                     ]
 102                 }
 103             }
 104         }
 105     ]
 106 }
 107 {
 108     "type": "Program",
 109     "body": [
 110         {
 111             "type": "ExpressionStatement",
 112             "expression": {
 113                 "type": "AssignmentExpression",
 114                 "operator": "=",
 115                 "left": {
 116                     "type": "Identifier",
 117                     "name": "p"
 118                 },
 119                 "right": {
 120                     "type": "ObjectExpression",
 121                     "properties": [
 122                         {
 123                             "key": {
 124                                 "type": "Identifier",
 125                                 "name": "x"
 126                             },
 127                             "value": {
 128                                 "type": "FunctionExpression",
 129                                 "id": {
 130                                     "type": "Identifier",
 131                                     "name": "get x"
 132                                 },
 133                                 "params": [],
 134                                 "defaults": [],
 135                                 "rest": null,
 136                                 "body": {
 137                                     "type": "BlockStatement",
 138                                     "body": [
 139                                         {
 140                                             "type": "ReturnStatement",
 141                                             "argument": {
 142                                                 "type": "Identifier",
 143                                                 "name": "xValue"
 144                                             }
 145                                         }
 146                                     ]
 147                                 },
 148                                 "generator": false,
 149                                 "expression": false
 150                             },
 151                             "kind": "get"
 152                         },
 153                         {
 154                             "key": {
 155                                 "type": "Identifier",
 156                                 "name": "y"
 157                             },
 158                             "value": {
 159                                 "type": "FunctionExpression",
 160                                 "id": {
 161                                     "type": "Identifier",
 162                                     "name": "get y"
 163                                 },
 164                                 "params": [],
 165                                 "defaults": [],
 166                                 "rest": null,
 167                                 "body": {
 168                                     "type": "BlockStatement",
 169                                     "body": [
 170                                         {
 171                                             "type": "ReturnStatement",
 172                                             "argument": {
 173                                                 "type": "Identifier",
 174                                                 "name": "yValue"
 175                                             }
 176                                         }
 177                                     ]
 178                                 },
 179                                 "generator": false,
 180                                 "expression": false
 181                             },
 182                             "kind": "get"
 183                         }
 184                     ]
 185                 }
 186             }
 187         }
 188     ]
 189 }