["TranslationUnitDecl" , [
  {
    "pointer" : 1,
    "source_range" : [
      {
      },
      {
      }
    ]
  },
  [
    ["TypedefDecl" , [
      {
        "pointer" : 2,
        "source_range" : [
          {
          },
          {
          }
        ],
        "is_implicit" : true
      },
      {
        "name" : "__int128_t",
        "qual_name" : [
          "__int128_t"
        ]
      },
      0,
      {
      }
    ]],
    ["TypedefDecl" , [
      {
        "pointer" : 3,
        "source_range" : [
          {
          },
          {
          }
        ],
        "is_implicit" : true
      },
      {
        "name" : "__uint128_t",
        "qual_name" : [
          "__uint128_t"
        ]
      },
      0,
      {
      }
    ]],
    ["TypedefDecl" , [
      {
        "pointer" : 4,
        "source_range" : [
          {
          },
          {
          }
        ],
        "is_implicit" : true
      },
      {
        "name" : "__NSConstantString",
        "qual_name" : [
          "__NSConstantString"
        ]
      },
      0,
      {
      }
    ]],
    ["TypedefDecl" , [
      {
        "pointer" : 5,
        "source_range" : [
          {
          },
          {
          }
        ],
        "is_implicit" : true
      },
      {
        "name" : "__builtin_ms_va_list",
        "qual_name" : [
          "__builtin_ms_va_list"
        ]
      },
      0,
      {
      }
    ]],
    ["TypedefDecl" , [
      {
        "pointer" : 6,
        "source_range" : [
          {
          },
          {
          }
        ],
        "is_implicit" : true
      },
      {
        "name" : "__builtin_va_list",
        "qual_name" : [
          "__builtin_va_list"
        ]
      },
      0,
      {
      }
    ]],
    ["CXXRecordDecl" , [
      {
        "pointer" : 7,
        "parent_pointer" : 1,
        "source_range" : [
          {
            "file" : "tests/struct.cpp",
            "line" : 7,
            "column" : 1
          },
          {
            "line" : 9,
            "column" : 1
          }
        ],
        "is_this_declaration_referenced" : true
      },
      {
        "name" : "Point",
        "qual_name" : [
          "Point"
        ]
      },
      8,
      [
        ["CXXRecordDecl" , [
          {
            "pointer" : 9,
            "parent_pointer" : 7,
            "source_range" : [
              {
                "line" : 7,
                "column" : 1
              },
              {
                "column" : 8
              }
            ],
            "is_implicit" : true,
            "access" : "Public"
          },
          {
            "name" : "Point",
            "qual_name" : [
              "Point",
              "Point"
            ]
          },
          8,
          [
          ],
          {
          },
          "TTK_Struct",
          {
            "definition_ptr" : 0
          },
          {
          }
        ]],
        ["FieldDecl" , [
          {
            "pointer" : 10,
            "parent_pointer" : 7,
            "source_range" : [
              {
                "line" : 8,
                "column" : 3
              },
              {
                "column" : 10
              }
            ],
            "access" : "Public"
          },
          {
            "name" : "x",
            "qual_name" : [
              "x",
              "Point"
            ]
          },
          {
            "type_ptr" : 11
          },
          {
          }
        ]],
        ["FieldDecl" , [
          {
            "pointer" : 12,
            "parent_pointer" : 7,
            "source_range" : [
              {
                "column" : 3
              },
              {
                "column" : 13
              }
            ],
            "access" : "Public"
          },
          {
            "name" : "y",
            "qual_name" : [
              "y",
              "Point"
            ]
          },
          {
            "type_ptr" : 11
          },
          {
          }
        ]]
      ],
      {
      },
      "TTK_Struct",
      {
        "definition_ptr" : 7,
        "is_complete_definition" : true
      },
      {
        "is_pod" : true
      }
    ]],
    ["FunctionDecl" , [
      {
        "pointer" : 13,
        "source_range" : [
          {
            "line" : 11,
            "column" : 1
          },
          {
            "line" : 14,
            "column" : 1
          }
        ]
      },
      {
        "name" : "fun",
        "qual_name" : [
          "fun"
        ]
      },
      {
        "type_ptr" : 14
      },
      {
        "mangled_name" : "4651010030435487712",
        "is_cpp" : true,
        "decl_ptr_with_body" : 13,
        "body" : ["CompoundStmt" , [
          {
            "pointer" : 15,
            "source_range" : [
              {
                "line" : 11,
                "column" : 12
              },
              {
                "line" : 14,
                "column" : 1
              }
            ]
          },
          [
            ["DeclStmt" , [
              {
                "pointer" : 16,
                "source_range" : [
                  {
                    "line" : 12,
                    "column" : 3
                  },
                  {
                    "column" : 14
                  }
                ]
              },
              [
              ],
              [
                ["CXXRecordDecl" , [
                  {
                    "pointer" : 17,
                    "parent_pointer" : 13,
                    "source_range" : [
                      {
                        "column" : 3
                      },
                      {
                        "column" : 13
                      }
                    ],
                    "is_this_declaration_referenced" : true
                  },
                  {
                    "name" : "X",
                    "qual_name" : [
                      "X",
                      "fun"
                    ]
                  },
                  18,
                  [
                    ["CXXRecordDecl" , [
                      {
                        "pointer" : 19,
                        "parent_pointer" : 17,
                        "source_range" : [
                          {
                            "column" : 3
                          },
                          {
                            "column" : 10
                          }
                        ],
                        "is_implicit" : true,
                        "access" : "Public"
                      },
                      {
                        "name" : "X",
                        "qual_name" : [
                          "X",
                          "X",
                          "fun"
                        ]
                      },
                      18,
                      [
                      ],
                      {
                      },
                      "TTK_Struct",
                      {
                        "definition_ptr" : 0
                      },
                      {
                      }
                    ]],
                    ["CXXConstructorDecl" , [
                      {
                        "pointer" : 20,
                        "parent_pointer" : 17,
                        "source_range" : [
                          {
                            "column" : 10
                          },
                          {
                            "column" : 10
                          }
                        ],
                        "is_implicit" : true,
                        "is_used" : true,
                        "is_this_declaration_referenced" : true,
                        "access" : "Public"
                      },
                      {
                        "name" : "X",
                        "qual_name" : [
                          "X",
                          "X",
                          "fun"
                        ]
                      },
                      {
                        "type_ptr" : 21
                      },
                      {
                        "mangled_name" : "4417717915555375243",
                        "is_cpp" : true,
                        "is_inline" : true,
                        "decl_ptr_with_body" : 20,
                        "body" : ["CompoundStmt" , [
                          {
                            "pointer" : 22,
                            "source_range" : [
                              {
                                "column" : 10
                              },
                              {
                                "column" : 10
                              }
                            ]
                          },
                          [
                          ]
                        ]]
                      },
                      {
                        "is_constexpr" : true
                      }
                    ]],
                    ["CXXConstructorDecl" , [
                      {
                        "pointer" : 23,
                        "parent_pointer" : 17,
                        "source_range" : [
                          {
                            "column" : 10
                          },
                          {
                            "column" : 10
                          }
                        ],
                        "is_implicit" : true,
                        "access" : "Public"
                      },
                      {
                        "name" : "X",
                        "qual_name" : [
                          "X",
                          "X",
                          "fun"
                        ]
                      },
                      {
                        "type_ptr" : 24
                      },
                      {
                        "mangled_name" : "4190573168950999278",
                        "is_cpp" : true,
                        "is_inline" : true,
                        "parameters" : [
                          ["ParmVarDecl" , [
                            {
                              "pointer" : 25,
                              "source_range" : [
                                {
                                  "column" : 10
                                },
                                {
                                  "column" : 10
                                }
                              ]
                            },
                            {
                              "name" : "",
                              "qual_name" : [
                                ""
                              ]
                            },
                            {
                              "type_ptr" : 26
                            },
                            {
                              "parm_index_in_function" : 0
                            }
                          ]]
                        ]
                      },
                      {
                        "is_constexpr" : true
                      }
                    ]],
                    ["CXXConstructorDecl" , [
                      {
                        "pointer" : 27,
                        "parent_pointer" : 17,
                        "source_range" : [
                          {
                            "column" : 10
                          },
                          {
                            "column" : 10
                          }
                        ],
                        "is_implicit" : true,
                        "access" : "Public"
                      },
                      {
                        "name" : "X",
                        "qual_name" : [
                          "X",
                          "X",
                          "fun"
                        ]
                      },
                      {
                        "type_ptr" : 28
                      },
                      {
                        "mangled_name" : "12437859369676964978",
                        "is_cpp" : true,
                        "is_inline" : true,
                        "parameters" : [
                          ["ParmVarDecl" , [
                            {
                              "pointer" : 29,
                              "source_range" : [
                                {
                                  "column" : 10
                                },
                                {
                                  "column" : 10
                                }
                              ]
                            },
                            {
                              "name" : "",
                              "qual_name" : [
                                ""
                              ]
                            },
                            {
                              "type_ptr" : 30
                            },
                            {
                              "parm_index_in_function" : 0
                            }
                          ]]
                        ]
                      },
                      {
                        "is_constexpr" : true
                      }
                    ]]
                  ],
                  {
                  },
                  "TTK_Struct",
                  {
                    "definition_ptr" : 17,
                    "is_complete_definition" : true
                  },
                  {
                    "is_pod" : true
                  }
                ]]
              ]
            ]],
            ["DeclStmt" , [
              {
                "pointer" : 31,
                "source_range" : [
                  {
                    "line" : 13,
                    "column" : 3
                  },
                  {
                    "column" : 6
                  }
                ]
              },
              [
                ["CXXConstructExpr" , [
                  {
                    "pointer" : 32,
                    "source_range" : [
                      {
                        "column" : 5
                      },
                      {
                        "column" : 5
                      }
                    ]
                  },
                  [
                  ],
                  {
                    "qual_type" : {
                      "type_ptr" : 18
                    }
                  },
                  {
                    "decl_ref" : {
                      "kind" : "CXXConstructor",
                      "decl_pointer" : 20,
                      "name" : {
                        "name" : "X",
                        "qual_name" : [
                          "X",
                          "X",
                          "fun"
                        ]
                      },
                      "qual_type" : {
                        "type_ptr" : 21
                      }
                    }
                  }
                ]]
              ],
              [
                ["VarDecl" , [
                  {
                    "pointer" : 33,
                    "source_range" : [
                      {
                        "column" : 3
                      },
                      {
                        "column" : 5
                      }
                    ]
                  },
                  {
                    "name" : "x",
                    "qual_name" : [
                      "x"
                    ]
                  },
                  {
                    "type_ptr" : 18
                  },
                  {
                    "init_expr" : ["CXXConstructExpr" , [
                      {
                        "pointer" : 32,
                        "source_range" : [
                          {
                            "column" : 5
                          },
                          {
                            "column" : 5
                          }
                        ]
                      },
                      [
                      ],
                      {
                        "qual_type" : {
                          "type_ptr" : 18
                        }
                      },
                      {
                        "decl_ref" : {
                          "kind" : "CXXConstructor",
                          "decl_pointer" : 20,
                          "name" : {
                            "name" : "X",
                            "qual_name" : [
                              "X",
                              "X",
                              "fun"
                            ]
                          },
                          "qual_type" : {
                            "type_ptr" : 21
                          }
                        }
                      }
                    ]]
                  }
                ]]
              ]
            ]]
          ]
        ]]
      }
    ]],
    ["VarDecl" , [
      {
        "pointer" : 34,
        "source_range" : [
          {
            "line" : 16,
            "column" : 1
          },
          {
            "column" : 24
          }
        ]
      },
      {
        "name" : "blank",
        "qual_name" : [
          "blank"
        ]
      },
      {
        "type_ptr" : 8
      },
      {
        "is_global" : true,
        "init_expr" : ["InitListExpr" , [
          {
            "pointer" : 35,
            "source_range" : [
              {
                "column" : 15
              },
              {
                "column" : 24
              }
            ]
          },
          [
            ["FloatingLiteral" , [
              {
                "pointer" : 36,
                "source_range" : [
                  {
                    "column" : 16
                  },
                  {
                    "column" : 16
                  }
                ]
              },
              [
              ],
              {
                "qual_type" : {
                  "type_ptr" : 11
                }
              },
              "3"
            ]],
            ["FloatingLiteral" , [
              {
                "pointer" : 37,
                "source_range" : [
                  {
                    "column" : 21
                  },
                  {
                    "column" : 21
                  }
                ]
              },
              [
              ],
              {
                "qual_type" : {
                  "type_ptr" : 11
                }
              },
              "4"
            ]]
          ],
          {
            "qual_type" : {
              "type_ptr" : 8
            }
          }
        ]]
      }
    ]],
    ["CXXRecordDecl" , [
      {
        "pointer" : 38,
        "parent_pointer" : 1,
        "source_range" : [
          {
            "line" : 18,
            "column" : 1
          },
          {
            "line" : 20,
            "column" : 1
          }
        ]
      },
      {
        "name" : "A",
        "qual_name" : [
          "A"
        ]
      },
      39,
      [
        ["CXXRecordDecl" , [
          {
            "pointer" : 40,
            "parent_pointer" : 38,
            "source_range" : [
              {
                "line" : 18,
                "column" : 1
              },
              {
                "column" : 8
              }
            ],
            "is_implicit" : true,
            "access" : "Public"
          },
          {
            "name" : "A",
            "qual_name" : [
              "A",
              "A"
            ]
          },
          39,
          [
          ],
          {
          },
          "TTK_Struct",
          {
            "definition_ptr" : 0
          },
          {
          }
        ]],
        ["VarDecl" , [
          {
            "pointer" : 41,
            "source_range" : [
              {
                "line" : 19,
                "column" : 3
              },
              {
                "column" : 14
              }
            ],
            "access" : "Public"
          },
          {
            "name" : "a",
            "qual_name" : [
              "a",
              "A"
            ]
          },
          {
            "type_ptr" : 42
          },
          {
            "is_global" : true,
            "is_static" : true,
            "is_static_data_member" : true
          }
        ]]
      ],
      {
      },
      "TTK_Struct",
      {
        "definition_ptr" : 38,
        "is_complete_definition" : true
      },
      {
        "is_pod" : true
      }
    ]],
    ["VarDecl" , [
      {
        "pointer" : 43,
        "parent_pointer" : 38,
        "source_range" : [
          {
            "line" : 22,
            "column" : 1
          },
          {
            "column" : 12
          }
        ],
        "access" : "Public"
      },
      {
        "name" : "a",
        "qual_name" : [
          "a",
          "A"
        ]
      },
      {
        "type_ptr" : 42
      },
      {
        "is_global" : true,
        "is_static_data_member" : true,
        "init_expr" : ["IntegerLiteral" , [
          {
            "pointer" : 44,
            "source_range" : [
              {
                "column" : 12
              },
              {
                "column" : 12
              }
            ]
          },
          [
          ],
          {
            "qual_type" : {
              "type_ptr" : 42
            }
          },
          {
            "is_signed" : true,
            "bitwidth" : 32,
            "value" : "32"
          }
        ]]
      }
    ]],
    ["CXXRecordDecl" , [
      {
        "pointer" : 45,
        "parent_pointer" : 1,
        "source_range" : [
          {
            "line" : 24,
            "column" : 1
          },
          {
            "line" : 26,
            "column" : 1
          }
        ]
      },
      {
        "name" : "B",
        "qual_name" : [
          "B"
        ]
      },
      46,
      [
        ["CXXRecordDecl" , [
          {
            "pointer" : 47,
            "parent_pointer" : 45,
            "source_range" : [
              {
                "line" : 24,
                "column" : 1
              },
              {
                "column" : 8
              }
            ],
            "is_implicit" : true,
            "access" : "Public"
          },
          {
            "name" : "B",
            "qual_name" : [
              "B",
              "B"
            ]
          },
          46,
          [
          ],
          {
          },
          "TTK_Struct",
          {
            "definition_ptr" : 0
          },
          {
          }
        ]],
        ["VarDecl" , [
          {
            "pointer" : 48,
            "source_range" : [
              {
                "line" : 25,
                "column" : 3
              },
              {
                "column" : 24
              }
            ],
            "access" : "Public"
          },
          {
            "name" : "b",
            "qual_name" : [
              "b",
              "B"
            ]
          },
          {
            "type_ptr" : 42,
            "is_const" : true
          },
          {
            "is_global" : true,
            "is_static" : true,
            "is_static_data_member" : true,
            "is_init_ice" : true,
            "init_expr" : ["IntegerLiteral" , [
              {
                "pointer" : 49,
                "source_range" : [
                  {
                    "column" : 24
                  },
                  {
                    "column" : 24
                  }
                ]
              },
              [
              ],
              {
                "qual_type" : {
                  "type_ptr" : 42
                }
              },
              {
                "is_signed" : true,
                "bitwidth" : 32,
                "value" : "52"
              }
            ]]
          }
        ]]
      ],
      {
      },
      "TTK_Struct",
      {
        "definition_ptr" : 45,
        "is_complete_definition" : true
      },
      {
        "is_pod" : true
      }
    ]],
    ["TypedefDecl" , [
      {
        "pointer" : 50,
        "source_range" : [
          {
          },
          {
          }
        ],
        "is_implicit" : true
      },
      {
        "name" : "instancetype",
        "qual_name" : [
          "instancetype"
        ]
      },
      51,
      {
      }
    ]]
  ],
  {
  },
  {
    "input_path" : "tests/struct.cpp",
    "input_kind" : "IK_CXX",
    "integer_type_widths" : {
      "char_type" : 8,
      "short_type" : 16,
      "int_type" : 32,
      "long_type" : 64,
      "longlong_type" : 64
    },
    "types" : [
      ["BuiltinType" , [
        {
          "pointer" : 52
        },
        "Void"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 53
        },
        "Bool"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 54
        },
        "Char_S"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 55
        },
        "SChar"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 56
        },
        "Short"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 42
        },
        "Int"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 57
        },
        "Long"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 58
        },
        "LongLong"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 59
        },
        "UChar"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 60
        },
        "UShort"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 61
        },
        "UInt"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 62
        },
        "ULong"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 63
        },
        "ULongLong"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 64
        },
        "Float"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 11
        },
        "Double"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 65
        },
        "LongDouble"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 66
        },
        "Float128"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 67
        },
        "Float16"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 68
        },
        "ShortAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 69
        },
        "Accum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 70
        },
        "LongAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 71
        },
        "UShortAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 72
        },
        "UAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 73
        },
        "ULongAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 74
        },
        "ShortFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 75
        },
        "Fract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 76
        },
        "LongFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 77
        },
        "UShortFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 78
        },
        "UFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 79
        },
        "ULongFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 80
        },
        "SatShortAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 81
        },
        "SatAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 82
        },
        "SatLongAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 83
        },
        "SatUShortAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 84
        },
        "SatUAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 85
        },
        "SatULongAccum"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 86
        },
        "SatShortFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 87
        },
        "SatFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 88
        },
        "SatLongFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 89
        },
        "SatUShortFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 90
        },
        "SatUFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 91
        },
        "SatULongFract"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 92
        },
        "Int128"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 93
        },
        "UInt128"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 94
        },
        "WChar_S"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 95
        },
        "Char8"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 96
        },
        "Char16"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 97
        },
        "Char32"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 98
        },
        "Dependent"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 99
        },
        "Overload"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 100
        },
        "BoundMember"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 101
        },
        "PseudoObject"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 102
        },
        "UnknownAny"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 103
        },
        "ARCUnbridgedCast"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 104
        },
        "BuiltinFn"
      ]],
      ["ComplexType" , [
        {
          "pointer" : 105
        }
      ]],
      ["ComplexType" , [
        {
          "pointer" : 106
        }
      ]],
      ["ComplexType" , [
        {
          "pointer" : 107
        }
      ]],
      ["ComplexType" , [
        {
          "pointer" : 108
        }
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 109
        },
        "ObjCId"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 110
        },
        "ObjCClass"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 111
        },
        "ObjCSel"
      ]],
      ["PointerType" , [
        {
          "pointer" : 112
        },
        {
          "type_ptr" : 52
        }
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 113
        },
        "NullPtr"
      ]],
      ["BuiltinType" , [
        {
          "pointer" : 114
        },
        "Half"
      ]],
      ["RecordType" , [
        {
          "pointer" : 115
        },
        116
      ]],
      ["PointerType" , [
        {
          "pointer" : 117
        },
        {
          "type_ptr" : 42,
          "is_const" : true
        }
      ]],
      ["PointerType" , [
        {
          "pointer" : 118
        },
        {
          "type_ptr" : 54,
          "is_const" : true
        }
      ]],
      ["PointerType" , [
        {
          "pointer" : 119
        },
        {
          "type_ptr" : 54
        }
      ]],
      ["RecordType" , [
        {
          "pointer" : 120
        },
        121
      ]],
      ["ConstantArrayType" , [
        {
          "pointer" : 122
        },
        {
          "element_type" : {
            "type_ptr" : 120
          },
          "stride" : 24
        },
        1
      ]],
      ["RecordType" , [
        {
          "pointer" : 8
        },
        7
      ]],
      ["FunctionProtoType" , [
        {
          "pointer" : 14
        },
        {
          "return_type" : {
            "type_ptr" : 52
          }
        },
        {
        }
      ]],
      ["RecordType" , [
        {
          "pointer" : 18
        },
        17
      ]],
      ["FunctionProtoType" , [
        {
          "pointer" : 123
        },
        {
          "return_type" : {
            "type_ptr" : 52
          }
        },
        {
        }
      ]],
      ["LValueReferenceType" , [
        {
          "pointer" : 26
        },
        {
          "type_ptr" : 18,
          "is_const" : true
        }
      ]],
      ["FunctionProtoType" , [
        {
          "pointer" : 124
        },
        {
          "return_type" : {
            "type_ptr" : 52
          }
        },
        {
          "params_type" : [
            {
              "type_ptr" : 26
            }
          ]
        }
      ]],
      ["FunctionProtoType" , [
        {
          "pointer" : 24
        },
        {
          "return_type" : {
            "type_ptr" : 52
          }
        },
        {
          "params_type" : [
            {
              "type_ptr" : 26
            }
          ]
        }
      ]],
      ["RValueReferenceType" , [
        {
          "pointer" : 30
        },
        {
          "type_ptr" : 18
        }
      ]],
      ["FunctionProtoType" , [
        {
          "pointer" : 125
        },
        {
          "return_type" : {
            "type_ptr" : 52
          }
        },
        {
          "params_type" : [
            {
              "type_ptr" : 30
            }
          ]
        }
      ]],
      ["FunctionProtoType" , [
        {
          "pointer" : 28
        },
        {
          "return_type" : {
            "type_ptr" : 52
          }
        },
        {
          "params_type" : [
            {
              "type_ptr" : 30
            }
          ]
        }
      ]],
      ["FunctionProtoType" , [
        {
          "pointer" : 21
        },
        {
          "return_type" : {
            "type_ptr" : 52
          }
        },
        {
        }
      ]],
      ["RecordType" , [
        {
          "pointer" : 39
        },
        38
      ]],
      ["RecordType" , [
        {
          "pointer" : 46
        },
        45
      ]],
      ["ObjCObjectType" , [
        {
          "pointer" : 126
        },
        {
          "base_type" : 109
        }
      ]],
      ["ObjCObjectPointerType" , [
        {
          "pointer" : 127
        },
        {
          "type_ptr" : 126
        }
      ]],
      ["TypedefType" , [
        {
          "pointer" : 128,
          "desugared_type" : 127
        },
        {
          "child_type" : {
            "type_ptr" : 127
          },
          "decl_ptr" : 129
        }
      ]],
      ["TypedefType" , [
        {
          "pointer" : 51,
          "desugared_type" : 127
        },
        {
          "child_type" : {
            "type_ptr" : 128
          },
          "decl_ptr" : 50
        }
      ]],
      ["NoneType" , [
        {
          "pointer" : 0
        }
      ]]
    ]
  }
]]