cast.out
  1  {
  2    "Cast": {
  3      "expression": {
  4        "Path": {
  5          "qualifier": [],
  6          "identifier": {
  7            "name": "foo",
  8            "span": {
  9              "lo": 0,
 10              "hi": 3
 11            },
 12            "id": 2
 13          },
 14          "is_absolute": false,
 15          "absolute_path": null,
 16          "span": {
 17            "lo": 0,
 18            "hi": 3
 19          },
 20          "id": 1
 21        }
 22      },
 23      "type_": {
 24        "Integer": "U8"
 25      },
 26      "span": {
 27        "lo": 0,
 28        "hi": 9
 29      },
 30      "id": 0
 31    }
 32  }
 33  
 34  {
 35    "Cast": {
 36      "expression": {
 37        "Literal": {
 38          "span": {
 39            "lo": 10,
 40            "hi": 15
 41          },
 42          "id": 1,
 43          "variant": {
 44            "Integer": [
 45              "U128",
 46              "1"
 47            ]
 48          }
 49        }
 50      },
 51      "type_": {
 52        "Integer": "I8"
 53      },
 54      "span": {
 55        "lo": 10,
 56        "hi": 21
 57      },
 58      "id": 0
 59    }
 60  }
 61  
 62  {
 63    "Cast": {
 64      "expression": {
 65        "Composite": {
 66          "path": {
 67            "qualifier": [],
 68            "identifier": {
 69              "name": "baz",
 70              "span": {
 71                "lo": 22,
 72                "hi": 25
 73              },
 74              "id": 5
 75            },
 76            "is_absolute": false,
 77            "absolute_path": null,
 78            "span": {
 79              "lo": 22,
 80              "hi": 25
 81            },
 82            "id": 6
 83          },
 84          "const_arguments": [],
 85          "members": [
 86            {
 87              "identifier": {
 88                "name": "foo",
 89                "span": {
 90                  "lo": 28,
 91                  "hi": 31
 92                },
 93                "id": 3
 94              },
 95              "expression": {
 96                "Literal": {
 97                  "span": {
 98                    "lo": 33,
 99                    "hi": 36
100                  },
101                  "id": 2,
102                  "variant": {
103                    "Integer": [
104                      "U8",
105                      "0"
106                    ]
107                  }
108                }
109              },
110              "span": {
111                "lo": 28,
112                "hi": 36
113              },
114              "id": 4
115            }
116          ],
117          "span": {
118            "lo": 22,
119            "hi": 38
120          },
121          "id": 1
122        }
123      },
124      "type_": "Scalar",
125      "span": {
126        "lo": 22,
127        "hi": 48
128      },
129      "id": 0
130    }
131  }
132  
133  {
134    "Ternary": {
135      "condition": {
136        "Path": {
137          "qualifier": [],
138          "identifier": {
139            "name": "flag",
140            "span": {
141              "lo": 49,
142              "hi": 53
143            },
144            "id": 2
145          },
146          "is_absolute": false,
147          "absolute_path": null,
148          "span": {
149            "lo": 49,
150            "hi": 53
151          },
152          "id": 1
153        }
154      },
155      "if_true": {
156        "Literal": {
157          "span": {
158            "lo": 56,
159            "hi": 59
160          },
161          "id": 3,
162          "variant": {
163            "Integer": [
164              "U8",
165              "1"
166            ]
167          }
168        }
169      },
170      "if_false": {
171        "Cast": {
172          "expression": {
173            "Literal": {
174              "span": {
175                "lo": 62,
176                "hi": 65
177              },
178              "id": 5,
179              "variant": {
180                "Integer": [
181                  "U8",
182                  "0"
183                ]
184              }
185            }
186          },
187          "type_": "Scalar",
188          "span": {
189            "lo": 62,
190            "hi": 75
191          },
192          "id": 4
193        }
194      },
195      "span": {
196        "lo": 49,
197        "hi": 75
198      },
199      "id": 0
200    }
201  }
202  
203  {
204    "Cast": {
205      "expression": {
206        "Ternary": {
207          "condition": {
208            "Path": {
209              "qualifier": [],
210              "identifier": {
211                "name": "flag",
212                "span": {
213                  "lo": 77,
214                  "hi": 81
215                },
216                "id": 4
217              },
218              "is_absolute": false,
219              "absolute_path": null,
220              "span": {
221                "lo": 77,
222                "hi": 81
223              },
224              "id": 3
225            }
226          },
227          "if_true": {
228            "Literal": {
229              "span": {
230                "lo": 84,
231                "hi": 87
232              },
233              "id": 5,
234              "variant": {
235                "Integer": [
236                  "U8",
237                  "1"
238                ]
239              }
240            }
241          },
242          "if_false": {
243            "Literal": {
244              "span": {
245                "lo": 90,
246                "hi": 93
247              },
248              "id": 6,
249              "variant": {
250                "Integer": [
251                  "U8",
252                  "0"
253                ]
254              }
255            }
256          },
257          "span": {
258            "lo": 77,
259            "hi": 93
260          },
261          "id": 2
262        }
263      },
264      "type_": "Scalar",
265      "span": {
266        "lo": 76,
267        "hi": 104
268      },
269      "id": 0
270    }
271  }
272  
273  {
274    "Cast": {
275      "expression": {
276        "Literal": {
277          "span": {
278            "lo": 105,
279            "hi": 109
280          },
281          "id": 1,
282          "variant": {
283            "Integer": [
284              "I8",
285              "34"
286            ]
287          }
288        }
289      },
290      "type_": "Field",
291      "span": {
292        "lo": 105,
293        "hi": 118
294      },
295      "id": 0
296    }
297  }
298  
299  {
300    "Cast": {
301      "expression": {
302        "Literal": {
303          "span": {
304            "lo": 119,
305            "hi": 137
306          },
307          "id": 1,
308          "variant": {
309            "Field": "0925348043850"
310          }
311        }
312      },
313      "type_": {
314        "Integer": "I8"
315      },
316      "span": {
317        "lo": 119,
318        "hi": 143
319      },
320      "id": 0
321    }
322  }
323