["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/virtual_bases.cpp", "line" : 7, "column" : 1 }, { "line" : 10, "column" : 1 } ], "is_this_declaration_referenced" : true }, { "name" : "A", "qual_name" : [ "A" ] }, 8, [ ["CXXRecordDecl" , [ { "pointer" : 9, "parent_pointer" : 7, "source_range" : [ { "line" : 7, "column" : 1 }, { "column" : 8 } ], "is_implicit" : true, "is_this_declaration_referenced" : true, "access" : "Public" }, { "name" : "A", "qual_name" : [ "A", "A" ] }, 8, [ ], { }, "TTK_Struct", { "definition_ptr" : 0 }, { } ]], ["CXXConstructorDecl" , [ { "pointer" : 10, "parent_pointer" : 7, "source_range" : [ { "line" : 8, "column" : 3 }, { "column" : 7 } ], "is_used" : true, "is_this_declaration_referenced" : true, "access" : "Public" }, { "name" : "A", "qual_name" : [ "A", "A" ] }, { "type_ptr" : 11 }, { "mangled_name" : "14779025497907219583", "is_cpp" : true, "decl_ptr_with_body" : 10, "body" : ["CompoundStmt" , [ { "pointer" : 12, "source_range" : [ { "column" : 6 }, { "column" : 7 } ] }, [ ] ]] }, { } ]], ["CXXDestructorDecl" , [ { "pointer" : 13, "parent_pointer" : 7, "source_range" : [ { "line" : 9, "column" : 3 }, { "column" : 8 } ], "is_used" : true, "is_this_declaration_referenced" : true, "access" : "Public" }, { "name" : "~A", "qual_name" : [ "~A", "A" ] }, { "type_ptr" : 14 }, { "mangled_name" : "5328378654181921475", "is_cpp" : true, "decl_ptr_with_body" : 13, "body" : ["CompoundStmt" , [ { "pointer" : 15, "source_range" : [ { "column" : 7 }, { "column" : 8 } ] }, [ ] ]] }, { } ]], ["CXXConstructorDecl" , [ { "pointer" : 16, "parent_pointer" : 7, "source_range" : [ { "line" : 7, "column" : 8 }, { "column" : 8 } ], "is_implicit" : true, "access" : "Public" }, { "name" : "A", "qual_name" : [ "A", "A" ] }, { "type_ptr" : 17 }, { "mangled_name" : "3430056695640597274", "is_cpp" : true, "is_inline" : true, "parameters" : [ ["ParmVarDecl" , [ { "pointer" : 18, "source_range" : [ { "column" : 8 }, { "column" : 8 } ] }, { "name" : "", "qual_name" : [ "" ] }, { "type_ptr" : 19 }, { "parm_index_in_function" : 0 } ]] ] }, { "is_constexpr" : true } ]], ["CXXMethodDecl" , [ { "pointer" : 20, "parent_pointer" : 7, "source_range" : [ { "column" : 8 }, { "column" : 8 } ], "is_implicit" : true, "access" : "Public" }, { "name" : "operator=", "qual_name" : [ "operator=", "A" ] }, { "type_ptr" : 21 }, { "mangled_name" : "4916027756641681778", "is_cpp" : true, "is_inline" : true, "parameters" : [ ["ParmVarDecl" , [ { "pointer" : 22, "source_range" : [ { "column" : 8 }, { "column" : 8 } ] }, { "name" : "", "qual_name" : [ "" ] }, { "type_ptr" : 19 }, { "parm_index_in_function" : 0 } ]] ] }, { } ]] ], { }, "TTK_Struct", { "definition_ptr" : 7, "is_complete_definition" : true }, { "destructor" : { "kind" : "CXXDestructor", "decl_pointer" : 13, "name" : { "name" : "~A", "qual_name" : [ "~A", "A" ] }, "qual_type" : { "type_ptr" : 14 } } } ]], ["CXXRecordDecl" , [ { "pointer" : 23, "parent_pointer" : 1, "source_range" : [ { "line" : 12, "column" : 1 }, { "line" : 15, "column" : 1 } ], "is_this_declaration_referenced" : true }, { "name" : "B", "qual_name" : [ "B" ] }, 24, [ ["CXXRecordDecl" , [ { "pointer" : 25, "parent_pointer" : 23, "source_range" : [ { "line" : 12, "column" : 1 }, { "column" : 8 } ], "is_implicit" : true, "is_this_declaration_referenced" : true, "access" : "Public" }, { "name" : "B", "qual_name" : [ "B", "B" ] }, 24, [ ], { }, "TTK_Struct", { "definition_ptr" : 0 }, { } ]], ["CXXConstructorDecl" , [ { "pointer" : 26, "parent_pointer" : 23, "source_range" : [ { "line" : 13, "column" : 3 }, { "column" : 7 } ], "is_used" : true, "is_this_declaration_referenced" : true, "access" : "Public" }, { "name" : "B", "qual_name" : [ "B", "B" ] }, { "type_ptr" : 11 }, { "mangled_name" : "10798876524598897542", "is_cpp" : true, "decl_ptr_with_body" : 26, "body" : ["CompoundStmt" , [ { "pointer" : 27, "source_range" : [ { "column" : 6 }, { "column" : 7 } ] }, [ ] ]] }, { "cxx_ctor_initializers" : [ { "subject" : ["BaseClass" , [ 8, true ]], "source_range" : [ { }, { } ], "init_expr" : ["CXXConstructExpr" , [ { "pointer" : 28, "source_range" : [ { "column" : 3 }, { "column" : 3 } ] }, [ ], { "qual_type" : { "type_ptr" : 8 } }, { "decl_ref" : { "kind" : "CXXConstructor", "decl_pointer" : 10, "name" : { "name" : "A", "qual_name" : [ "A", "A" ] }, "qual_type" : { "type_ptr" : 11 } } } ]] } ] } ]], ["CXXDestructorDecl" , [ { "pointer" : 29, "parent_pointer" : 23, "source_range" : [ { "line" : 14, "column" : 3 }, { "column" : 8 } ], "is_used" : true, "is_this_declaration_referenced" : true, "access" : "Public" }, { "name" : "~B", "qual_name" : [ "~B", "B" ] }, { "type_ptr" : 14 }, { "mangled_name" : "7876366742276079110", "is_cpp" : true, "decl_ptr_with_body" : 29, "body" : ["CompoundStmt" , [ { "pointer" : 30, "source_range" : [ { "column" : 7 }, { "column" : 8 } ] }, [ ] ]] }, { } ]], ["CXXConstructorDecl" , [ { "pointer" : 31, "parent_pointer" : 23, "source_range" : [ { "line" : 12, "column" : 8 }, { "column" : 8 } ], "is_implicit" : true, "access" : "Public" }, { "name" : "B", "qual_name" : [ "B", "B" ] }, { "type_ptr" : 32 }, { "mangled_name" : "7710293714478488613", "is_cpp" : true, "is_inline" : true, "parameters" : [ ["ParmVarDecl" , [ { "pointer" : 33, "source_range" : [ { "column" : 8 }, { "column" : 8 } ] }, { "name" : "", "qual_name" : [ "" ] }, { "type_ptr" : 34 }, { "parm_index_in_function" : 0 } ]] ] }, { } ]], ["CXXMethodDecl" , [ { "pointer" : 35, "parent_pointer" : 23, "source_range" : [ { "column" : 8 }, { "column" : 8 } ], "is_implicit" : true, "access" : "Public" }, { "name" : "operator=", "qual_name" : [ "operator=", "B" ] }, { "type_ptr" : 36 }, { "mangled_name" : "12683202677887858481", "is_cpp" : true, "is_inline" : true, "parameters" : [ ["ParmVarDecl" , [ { "pointer" : 37, "source_range" : [ { "column" : 8 }, { "column" : 8 } ] }, { "name" : "", "qual_name" : [ "" ] }, { "type_ptr" : 34 }, { "parm_index_in_function" : 0 } ]] ] }, { } ]] ], { }, "TTK_Struct", { "definition_ptr" : 23, "is_complete_definition" : true }, { "vbases" : [ 8 ], "transitive_vbases" : [ 8 ], "destructor" : { "kind" : "CXXDestructor", "decl_pointer" : 29, "name" : { "name" : "~B", "qual_name" : [ "~B", "B" ] }, "qual_type" : { "type_ptr" : 14 } } } ]], ["CXXRecordDecl" , [ { "pointer" : 38, "parent_pointer" : 1, "source_range" : [ { "line" : 17, "column" : 1 }, { "line" : 20, "column" : 1 } ], "is_this_declaration_referenced" : true }, { "name" : "C", "qual_name" : [ "C" ] }, 39, [ ["CXXRecordDecl" , [ { "pointer" : 40, "parent_pointer" : 38, "source_range" : [ { "line" : 17, "column" : 1 }, { "column" : 8 } ], "is_implicit" : true, "is_this_declaration_referenced" : true, "access" : "Public" }, { "name" : "C", "qual_name" : [ "C", "C" ] }, 39, [ ], { }, "TTK_Struct", { "definition_ptr" : 0 }, { } ]], ["CXXConstructorDecl" , [ { "pointer" : 41, "parent_pointer" : 38, "source_range" : [ { "line" : 18, "column" : 3 }, { "column" : 7 } ], "is_used" : true, "is_this_declaration_referenced" : true, "access" : "Public" }, { "name" : "C", "qual_name" : [ "C", "C" ] }, { "type_ptr" : 11 }, { "mangled_name" : "5740611327153041165", "is_cpp" : true, "decl_ptr_with_body" : 41, "body" : ["CompoundStmt" , [ { "pointer" : 42, "source_range" : [ { "column" : 6 }, { "column" : 7 } ] }, [ ] ]] }, { } ]], ["CXXDestructorDecl" , [ { "pointer" : 43, "parent_pointer" : 38, "source_range" : [ { "line" : 19, "column" : 3 }, { "column" : 8 } ], "is_used" : true, "is_this_declaration_referenced" : true, "access" : "Public" }, { "name" : "~C", "qual_name" : [ "~C", "C" ] }, { "type_ptr" : 14 }, { "mangled_name" : "8663121109475859597", "is_cpp" : true, "decl_ptr_with_body" : 43, "body" : ["CompoundStmt" , [ { "pointer" : 44, "source_range" : [ { "column" : 7 }, { "column" : 8 } ] }, [ ] ]] }, { } ]], ["CXXConstructorDecl" , [ { "pointer" : 45, "parent_pointer" : 38, "source_range" : [ { "line" : 17, "column" : 8 }, { "column" : 8 } ], "is_implicit" : true, "access" : "Public" }, { "name" : "C", "qual_name" : [ "C", "C" ] }, { "type_ptr" : 46 }, { "mangled_name" : "13331393607183256536", "is_cpp" : true, "is_inline" : true, "parameters" : [ ["ParmVarDecl" , [ { "pointer" : 47, "source_range" : [ { "column" : 8 }, { "column" : 8 } ] }, { "name" : "", "qual_name" : [ "" ] }, { "type_ptr" : 48 }, { "parm_index_in_function" : 0 } ]] ] }, { "is_constexpr" : true } ]], ["CXXMethodDecl" , [ { "pointer" : 49, "parent_pointer" : 38, "source_range" : [ { "column" : 8 }, { "column" : 8 } ], "is_implicit" : true, "access" : "Public" }, { "name" : "operator=", "qual_name" : [ "operator=", "C" ] }, { "type_ptr" : 50 }, { "mangled_name" : "2982129361942595904", "is_cpp" : true, "is_inline" : true, "parameters" : [ ["ParmVarDecl" , [ { "pointer" : 51, "source_range" : [ { "column" : 8 }, { "column" : 8 } ] }, { "name" : "", "qual_name" : [ "" ] }, { "type_ptr" : 48 }, { "parm_index_in_function" : 0 } ]] ] }, { } ]] ], { }, "TTK_Struct", { "definition_ptr" : 38, "is_complete_definition" : true }, { "destructor" : { "kind" : "CXXDestructor", "decl_pointer" : 43, "name" : { "name" : "~C", "qual_name" : [ "~C", "C" ] }, "qual_type" : { "type_ptr" : 14 } } } ]], ["CXXRecordDecl" , [ { "pointer" : 52, "parent_pointer" : 1, "source_range" : [ { "line" : 22, "column" : 1 }, { "line" : 25, "column" : 1 } ] }, { "name" : "E", "qual_name" : [ "E" ] }, 53, [ ["CXXRecordDecl" , [ { "pointer" : 54, "parent_pointer" : 52, "source_range" : [ { "line" : 22, "column" : 1 }, { "column" : 8 } ], "is_implicit" : true, "is_this_declaration_referenced" : true, "access" : "Public" }, { "name" : "E", "qual_name" : [ "E", "E" ] }, 53, [ ], { }, "TTK_Struct", { "definition_ptr" : 0 }, { } ]], ["CXXConstructorDecl" , [ { "pointer" : 55, "parent_pointer" : 52, "source_range" : [ { "line" : 23, "column" : 3 }, { "column" : 7 } ], "access" : "Public" }, { "name" : "E", "qual_name" : [ "E", "E" ] }, { "type_ptr" : 11 }, { "mangled_name" : "7886195349376518403", "is_cpp" : true, "decl_ptr_with_body" : 55, "body" : ["CompoundStmt" , [ { "pointer" : 56, "source_range" : [ { "column" : 6 }, { "column" : 7 } ] }, [ ] ]] }, { "cxx_ctor_initializers" : [ { "subject" : ["BaseClass" , [ 8, true ]], "source_range" : [ { }, { } ], "init_expr" : ["CXXConstructExpr" , [ { "pointer" : 57, "source_range" : [ { "column" : 3 }, { "column" : 3 } ] }, [ ], { "qual_type" : { "type_ptr" : 8 } }, { "decl_ref" : { "kind" : "CXXConstructor", "decl_pointer" : 10, "name" : { "name" : "A", "qual_name" : [ "A", "A" ] }, "qual_type" : { "type_ptr" : 11 } } } ]] }, { "subject" : ["BaseClass" , [ 39, true ]], "source_range" : [ { }, { } ], "init_expr" : ["CXXConstructExpr" , [ { "pointer" : 58, "source_range" : [ { "column" : 3 }, { "column" : 3 } ] }, [ ], { "qual_type" : { "type_ptr" : 39 } }, { "decl_ref" : { "kind" : "CXXConstructor", "decl_pointer" : 41, "name" : { "name" : "C", "qual_name" : [ "C", "C" ] }, "qual_type" : { "type_ptr" : 11 } } } ]] }, { "subject" : ["BaseClass" , [ 24, false ]], "source_range" : [ { }, { } ], "init_expr" : ["CXXConstructExpr" , [ { "pointer" : 59, "source_range" : [ { "column" : 3 }, { "column" : 3 } ] }, [ ], { "qual_type" : { "type_ptr" : 24 } }, { "decl_ref" : { "kind" : "CXXConstructor", "decl_pointer" : 26, "name" : { "name" : "B", "qual_name" : [ "B", "B" ] }, "qual_type" : { "type_ptr" : 11 } } } ]] } ] } ]], ["CXXDestructorDecl" , [ { "pointer" : 60, "parent_pointer" : 52, "source_range" : [ { "line" : 24, "column" : 3 }, { "column" : 8 } ], "access" : "Public" }, { "name" : "~E", "qual_name" : [ "~E", "E" ] }, { "type_ptr" : 14 }, { "mangled_name" : "2987579715549688623", "is_cpp" : true, "decl_ptr_with_body" : 60, "body" : ["CompoundStmt" , [ { "pointer" : 61, "source_range" : [ { "column" : 7 }, { "column" : 8 } ] }, [ ] ]] }, { } ]], ["CXXConstructorDecl" , [ { "pointer" : 62, "parent_pointer" : 52, "source_range" : [ { "line" : 22, "column" : 8 }, { "column" : 8 } ], "is_implicit" : true, "access" : "Public" }, { "name" : "E", "qual_name" : [ "E", "E" ] }, { "type_ptr" : 63 }, { "mangled_name" : "13411848558695892246", "is_cpp" : true, "is_inline" : true, "parameters" : [ ["ParmVarDecl" , [ { "pointer" : 64, "source_range" : [ { "column" : 8 }, { "column" : 8 } ] }, { "name" : "", "qual_name" : [ "" ] }, { "type_ptr" : 65 }, { "parm_index_in_function" : 0 } ]] ] }, { } ]], ["CXXMethodDecl" , [ { "pointer" : 66, "parent_pointer" : 52, "source_range" : [ { "column" : 8 }, { "column" : 8 } ], "is_implicit" : true, "access" : "Public" }, { "name" : "operator=", "qual_name" : [ "operator=", "E" ] }, { "type_ptr" : 67 }, { "mangled_name" : "14000323037812966926", "is_cpp" : true, "is_inline" : true, "parameters" : [ ["ParmVarDecl" , [ { "pointer" : 68, "source_range" : [ { "column" : 8 }, { "column" : 8 } ] }, { "name" : "", "qual_name" : [ "" ] }, { "type_ptr" : 65 }, { "parm_index_in_function" : 0 } ]] ] }, { } ]] ], { }, "TTK_Struct", { "definition_ptr" : 52, "is_complete_definition" : true }, { "bases" : [ 24 ], "vbases" : [ 39 ], "transitive_vbases" : [ 8, 39 ], "destructor" : { "kind" : "CXXDestructor", "decl_pointer" : 60, "name" : { "name" : "~E", "qual_name" : [ "~E", "E" ] }, "qual_type" : { "type_ptr" : 14 } } } ]], ["TypedefDecl" , [ { "pointer" : 69, "source_range" : [ { }, { } ], "is_implicit" : true }, { "name" : "instancetype", "qual_name" : [ "instancetype" ] }, 70, { } ]] ], { }, { "input_path" : "tests/virtual_bases.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" : 71 }, "Void" ]], ["BuiltinType" , [ { "pointer" : 72 }, "Bool" ]], ["BuiltinType" , [ { "pointer" : 73 }, "Char_S" ]], ["BuiltinType" , [ { "pointer" : 74 }, "SChar" ]], ["BuiltinType" , [ { "pointer" : 75 }, "Short" ]], ["BuiltinType" , [ { "pointer" : 76 }, "Int" ]], ["BuiltinType" , [ { "pointer" : 77 }, "Long" ]], ["BuiltinType" , [ { "pointer" : 78 }, "LongLong" ]], ["BuiltinType" , [ { "pointer" : 79 }, "UChar" ]], ["BuiltinType" , [ { "pointer" : 80 }, "UShort" ]], ["BuiltinType" , [ { "pointer" : 81 }, "UInt" ]], ["BuiltinType" , [ { "pointer" : 82 }, "ULong" ]], ["BuiltinType" , [ { "pointer" : 83 }, "ULongLong" ]], ["BuiltinType" , [ { "pointer" : 84 }, "Float" ]], ["BuiltinType" , [ { "pointer" : 85 }, "Double" ]], ["BuiltinType" , [ { "pointer" : 86 }, "LongDouble" ]], ["BuiltinType" , [ { "pointer" : 87 }, "Float128" ]], ["BuiltinType" , [ { "pointer" : 88 }, "Float16" ]], ["BuiltinType" , [ { "pointer" : 89 }, "ShortAccum" ]], ["BuiltinType" , [ { "pointer" : 90 }, "Accum" ]], ["BuiltinType" , [ { "pointer" : 91 }, "LongAccum" ]], ["BuiltinType" , [ { "pointer" : 92 }, "UShortAccum" ]], ["BuiltinType" , [ { "pointer" : 93 }, "UAccum" ]], ["BuiltinType" , [ { "pointer" : 94 }, "ULongAccum" ]], ["BuiltinType" , [ { "pointer" : 95 }, "ShortFract" ]], ["BuiltinType" , [ { "pointer" : 96 }, "Fract" ]], ["BuiltinType" , [ { "pointer" : 97 }, "LongFract" ]], ["BuiltinType" , [ { "pointer" : 98 }, "UShortFract" ]], ["BuiltinType" , [ { "pointer" : 99 }, "UFract" ]], ["BuiltinType" , [ { "pointer" : 100 }, "ULongFract" ]], ["BuiltinType" , [ { "pointer" : 101 }, "SatShortAccum" ]], ["BuiltinType" , [ { "pointer" : 102 }, "SatAccum" ]], ["BuiltinType" , [ { "pointer" : 103 }, "SatLongAccum" ]], ["BuiltinType" , [ { "pointer" : 104 }, "SatUShortAccum" ]], ["BuiltinType" , [ { "pointer" : 105 }, "SatUAccum" ]], ["BuiltinType" , [ { "pointer" : 106 }, "SatULongAccum" ]], ["BuiltinType" , [ { "pointer" : 107 }, "SatShortFract" ]], ["BuiltinType" , [ { "pointer" : 108 }, "SatFract" ]], ["BuiltinType" , [ { "pointer" : 109 }, "SatLongFract" ]], ["BuiltinType" , [ { "pointer" : 110 }, "SatUShortFract" ]], ["BuiltinType" , [ { "pointer" : 111 }, "SatUFract" ]], ["BuiltinType" , [ { "pointer" : 112 }, "SatULongFract" ]], ["BuiltinType" , [ { "pointer" : 113 }, "Int128" ]], ["BuiltinType" , [ { "pointer" : 114 }, "UInt128" ]], ["BuiltinType" , [ { "pointer" : 115 }, "WChar_S" ]], ["BuiltinType" , [ { "pointer" : 116 }, "Char8" ]], ["BuiltinType" , [ { "pointer" : 117 }, "Char16" ]], ["BuiltinType" , [ { "pointer" : 118 }, "Char32" ]], ["BuiltinType" , [ { "pointer" : 119 }, "Dependent" ]], ["BuiltinType" , [ { "pointer" : 120 }, "Overload" ]], ["BuiltinType" , [ { "pointer" : 121 }, "BoundMember" ]], ["BuiltinType" , [ { "pointer" : 122 }, "PseudoObject" ]], ["BuiltinType" , [ { "pointer" : 123 }, "UnknownAny" ]], ["BuiltinType" , [ { "pointer" : 124 }, "ARCUnbridgedCast" ]], ["BuiltinType" , [ { "pointer" : 125 }, "BuiltinFn" ]], ["ComplexType" , [ { "pointer" : 126 } ]], ["ComplexType" , [ { "pointer" : 127 } ]], ["ComplexType" , [ { "pointer" : 128 } ]], ["ComplexType" , [ { "pointer" : 129 } ]], ["BuiltinType" , [ { "pointer" : 130 }, "ObjCId" ]], ["BuiltinType" , [ { "pointer" : 131 }, "ObjCClass" ]], ["BuiltinType" , [ { "pointer" : 132 }, "ObjCSel" ]], ["PointerType" , [ { "pointer" : 133 }, { "type_ptr" : 71 } ]], ["BuiltinType" , [ { "pointer" : 134 }, "NullPtr" ]], ["BuiltinType" , [ { "pointer" : 135 }, "Half" ]], ["RecordType" , [ { "pointer" : 136 }, 137 ]], ["PointerType" , [ { "pointer" : 138 }, { "type_ptr" : 76, "is_const" : true } ]], ["PointerType" , [ { "pointer" : 139 }, { "type_ptr" : 73, "is_const" : true } ]], ["PointerType" , [ { "pointer" : 140 }, { "type_ptr" : 73 } ]], ["RecordType" , [ { "pointer" : 141 }, 142 ]], ["ConstantArrayType" , [ { "pointer" : 143 }, { "element_type" : { "type_ptr" : 141 }, "stride" : 24 }, 1 ]], ["RecordType" , [ { "pointer" : 8 }, 7 ]], ["PointerType" , [ { "pointer" : 144 }, { "type_ptr" : 8 } ]], ["FunctionProtoType" , [ { "pointer" : 11 }, { "return_type" : { "type_ptr" : 71 } }, { } ]], ["FunctionProtoType" , [ { "pointer" : 145 }, { "return_type" : { "type_ptr" : 71 } }, { } ]], ["FunctionProtoType" , [ { "pointer" : 14 }, { "return_type" : { "type_ptr" : 71 } }, { } ]], ["RecordType" , [ { "pointer" : 24 }, 23 ]], ["PointerType" , [ { "pointer" : 146 }, { "type_ptr" : 24 } ]], ["FunctionProtoType" , [ { "pointer" : 147 }, { "return_type" : { "type_ptr" : 71 } }, { } ]], ["LValueReferenceType" , [ { "pointer" : 34 }, { "type_ptr" : 24, "is_const" : true } ]], ["FunctionProtoType" , [ { "pointer" : 148 }, { "return_type" : { "type_ptr" : 71 } }, { "params_type" : [ { "type_ptr" : 34 } ] } ]], ["FunctionProtoType" , [ { "pointer" : 32 }, { "return_type" : { "type_ptr" : 71 } }, { "params_type" : [ { "type_ptr" : 34 } ] } ]], ["LValueReferenceType" , [ { "pointer" : 19 }, { "type_ptr" : 8, "is_const" : true } ]], ["FunctionProtoType" , [ { "pointer" : 149 }, { "return_type" : { "type_ptr" : 71 } }, { "params_type" : [ { "type_ptr" : 19 } ] } ]], ["FunctionProtoType" , [ { "pointer" : 17 }, { "return_type" : { "type_ptr" : 71 } }, { "params_type" : [ { "type_ptr" : 19 } ] } ]], ["LValueReferenceType" , [ { "pointer" : 150 }, { "type_ptr" : 24 } ]], ["FunctionProtoType" , [ { "pointer" : 151 }, { "return_type" : { "type_ptr" : 150 } }, { "params_type" : [ { "type_ptr" : 34 } ] } ]], ["FunctionProtoType" , [ { "pointer" : 36 }, { "return_type" : { "type_ptr" : 150 } }, { "params_type" : [ { "type_ptr" : 34 } ] } ]], ["LValueReferenceType" , [ { "pointer" : 152 }, { "type_ptr" : 8 } ]], ["FunctionProtoType" , [ { "pointer" : 153 }, { "return_type" : { "type_ptr" : 152 } }, { "params_type" : [ { "type_ptr" : 19 } ] } ]], ["FunctionProtoType" , [ { "pointer" : 21 }, { "return_type" : { "type_ptr" : 152 } }, { "params_type" : [ { "type_ptr" : 19 } ] } ]], ["RecordType" , [ { "pointer" : 39 }, 38 ]], ["PointerType" , [ { "pointer" : 154 }, { "type_ptr" : 39 } ]], ["FunctionProtoType" , [ { "pointer" : 155 }, { "return_type" : { "type_ptr" : 71 } }, { } ]], ["RecordType" , [ { "pointer" : 53 }, 52 ]], ["PointerType" , [ { "pointer" : 156 }, { "type_ptr" : 53 } ]], ["FunctionProtoType" , [ { "pointer" : 157 }, { "return_type" : { "type_ptr" : 71 } }, { } ]], ["LValueReferenceType" , [ { "pointer" : 65 }, { "type_ptr" : 53, "is_const" : true } ]], ["FunctionProtoType" , [ { "pointer" : 158 }, { "return_type" : { "type_ptr" : 71 } }, { "params_type" : [ { "type_ptr" : 65 } ] } ]], ["FunctionProtoType" , [ { "pointer" : 63 }, { "return_type" : { "type_ptr" : 71 } }, { "params_type" : [ { "type_ptr" : 65 } ] } ]], ["LValueReferenceType" , [ { "pointer" : 48 }, { "type_ptr" : 39, "is_const" : true } ]], ["FunctionProtoType" , [ { "pointer" : 159 }, { "return_type" : { "type_ptr" : 71 } }, { "params_type" : [ { "type_ptr" : 48 } ] } ]], ["FunctionProtoType" , [ { "pointer" : 46 }, { "return_type" : { "type_ptr" : 71 } }, { "params_type" : [ { "type_ptr" : 48 } ] } ]], ["LValueReferenceType" , [ { "pointer" : 160 }, { "type_ptr" : 53 } ]], ["FunctionProtoType" , [ { "pointer" : 161 }, { "return_type" : { "type_ptr" : 160 } }, { "params_type" : [ { "type_ptr" : 65 } ] } ]], ["FunctionProtoType" , [ { "pointer" : 67 }, { "return_type" : { "type_ptr" : 160 } }, { "params_type" : [ { "type_ptr" : 65 } ] } ]], ["LValueReferenceType" , [ { "pointer" : 162 }, { "type_ptr" : 39 } ]], ["FunctionProtoType" , [ { "pointer" : 163 }, { "return_type" : { "type_ptr" : 162 } }, { "params_type" : [ { "type_ptr" : 48 } ] } ]], ["FunctionProtoType" , [ { "pointer" : 50 }, { "return_type" : { "type_ptr" : 162 } }, { "params_type" : [ { "type_ptr" : 48 } ] } ]], ["ObjCObjectType" , [ { "pointer" : 164 }, { "base_type" : 130 } ]], ["ObjCObjectPointerType" , [ { "pointer" : 165 }, { "type_ptr" : 164 } ]], ["TypedefType" , [ { "pointer" : 166, "desugared_type" : 165 }, { "child_type" : { "type_ptr" : 165 }, "decl_ptr" : 167 } ]], ["TypedefType" , [ { "pointer" : 70, "desugared_type" : 165 }, { "child_type" : { "type_ptr" : 166 }, "decl_ptr" : 69 } ]], ["NoneType" , [ { "pointer" : 0 } ]] ] } ]]