1{ 2 "array_types" : 3 [ 4 { 5 "alignment" : 4, 6 "linker_set_key" : "_ZTIA2_i", 7 "name" : "int[2]", 8 "referenced_type" : "_ZTIi", 9 "size" : 8, 10 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 11 } 12 ], 13 "builtin_types" : 14 [ 15 { 16 "alignment" : 4, 17 "is_integral" : true, 18 "linker_set_key" : "_ZTIi", 19 "name" : "int", 20 "size" : 4 21 }, 22 { 23 "alignment" : 2, 24 "is_integral" : true, 25 "linker_set_key" : "_ZTIs", 26 "name" : "short", 27 "size" : 2 28 }, 29 { 30 "linker_set_key" : "_ZTIv", 31 "name" : "void" 32 } 33 ], 34 "elf_functions" : 35 [ 36 { 37 "name" : "_Z15PassByReferenceR7Struct1R7Struct2" 38 } 39 ], 40 "elf_objects" : [], 41 "enum_types" : [], 42 "function_types" : [], 43 "functions" : 44 [ 45 { 46 "function_name" : "PassByReference", 47 "linker_set_key" : "_Z15PassByReferenceR7Struct1R7Struct2", 48 "parameters" : 49 [ 50 { 51 "referenced_type" : "_ZTIR7Struct1" 52 }, 53 { 54 "referenced_type" : "_ZTIR7Struct2" 55 } 56 ], 57 "return_type" : "_ZTIR7Vtable3", 58 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 59 } 60 ], 61 "global_vars" : [], 62 "lvalue_reference_types" : 63 [ 64 { 65 "alignment" : 8, 66 "linker_set_key" : "_ZTIR7Struct1", 67 "name" : "Struct1 &", 68 "referenced_type" : "_ZTI7Struct1", 69 "size" : 8, 70 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 71 }, 72 { 73 "alignment" : 8, 74 "linker_set_key" : "_ZTIR7Struct2", 75 "name" : "Struct2 &", 76 "referenced_type" : "_ZTI7Struct2", 77 "size" : 8, 78 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 79 }, 80 { 81 "alignment" : 8, 82 "linker_set_key" : "_ZTIR7Vtable3", 83 "name" : "Vtable3 &", 84 "referenced_type" : "_ZTI7Vtable3", 85 "size" : 8, 86 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 87 } 88 ], 89 "pointer_types" : 90 [ 91 { 92 "alignment" : 8, 93 "linker_set_key" : "_ZTIP7Vtable1", 94 "name" : "Vtable1 *", 95 "referenced_type" : "_ZTI7Vtable1", 96 "size" : 8, 97 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 98 }, 99 { 100 "alignment" : 8, 101 "linker_set_key" : "_ZTIP7Vtable2", 102 "name" : "Vtable2 *", 103 "referenced_type" : "_ZTI7Vtable2", 104 "size" : 8, 105 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 106 }, 107 { 108 "alignment" : 8, 109 "linker_set_key" : "_ZTIP7Vtable3", 110 "name" : "Vtable3 *", 111 "referenced_type" : "_ZTI7Vtable3", 112 "size" : 8, 113 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 114 } 115 ], 116 "qualified_types" : [], 117 "record_types" : 118 [ 119 { 120 "alignment" : 4, 121 "fields" : 122 [ 123 { 124 "field_name" : "offset_0", 125 "referenced_type" : "_ZTIs" 126 }, 127 { 128 "field_name" : "offset_16", 129 "field_offset" : 16, 130 "referenced_type" : "_ZTIs" 131 }, 132 { 133 "field_name" : "offset_32", 134 "field_offset" : 32, 135 "referenced_type" : "_ZTIi" 136 }, 137 { 138 "field_name" : "offset_64", 139 "field_offset" : 64, 140 "referenced_type" : "_ZTIi" 141 } 142 ], 143 "linker_set_key" : "_ZTI7Struct1", 144 "name" : "Struct1", 145 "size" : 12, 146 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 147 }, 148 { 149 "alignment" : 4, 150 "fields" : 151 [ 152 { 153 "field_name" : "member", 154 "referenced_type" : "_ZTIN7Struct26NestedE" 155 } 156 ], 157 "linker_set_key" : "_ZTI7Struct2", 158 "name" : "Struct2", 159 "size" : 8, 160 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 161 }, 162 { 163 "alignment" : 8, 164 "fields" : 165 [ 166 { 167 "field_name" : "member_1", 168 "field_offset" : 64, 169 "referenced_type" : "_ZTIi" 170 }, 171 { 172 "field_name" : "added_member_1", 173 "field_offset" : 96, 174 "referenced_type" : "_ZTIi" 175 } 176 ], 177 "linker_set_key" : "_ZTI7Vtable1", 178 "name" : "Vtable1", 179 "size" : 16, 180 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h", 181 "vtable_components" : 182 [ 183 { 184 "kind" : "offset_to_top" 185 }, 186 { 187 "kind" : "rtti", 188 "mangled_component_name" : "_ZTI7Vtable1" 189 }, 190 { 191 "kind" : "complete_dtor_pointer", 192 "mangled_component_name" : "_ZN7Vtable1D1Ev" 193 }, 194 { 195 "kind" : "deleting_dtor_pointer", 196 "mangled_component_name" : "_ZN7Vtable1D0Ev" 197 }, 198 { 199 "is_pure" : true, 200 "mangled_component_name" : "_ZN7Vtable110function_1Ev" 201 }, 202 { 203 "is_pure" : true, 204 "mangled_component_name" : "_ZN7Vtable116added_function_1Ev" 205 } 206 ] 207 }, 208 { 209 "alignment" : 8, 210 "fields" : 211 [ 212 { 213 "field_name" : "member_2", 214 "field_offset" : 64, 215 "referenced_type" : "_ZTIi" 216 }, 217 { 218 "field_name" : "added_member_2", 219 "field_offset" : 96, 220 "referenced_type" : "_ZTIi" 221 } 222 ], 223 "linker_set_key" : "_ZTI7Vtable2", 224 "name" : "Vtable2", 225 "size" : 16, 226 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h", 227 "vtable_components" : 228 [ 229 { 230 "kind" : "offset_to_top" 231 }, 232 { 233 "kind" : "rtti", 234 "mangled_component_name" : "_ZTI7Vtable2" 235 }, 236 { 237 "mangled_component_name" : "_ZN7Vtable210function_2Ev" 238 }, 239 { 240 "is_pure" : true, 241 "mangled_component_name" : "_ZN7Vtable216added_function_2Ev" 242 }, 243 { 244 "kind" : "complete_dtor_pointer", 245 "mangled_component_name" : "_ZN7Vtable2D1Ev" 246 }, 247 { 248 "kind" : "deleting_dtor_pointer", 249 "mangled_component_name" : "_ZN7Vtable2D0Ev" 250 } 251 ] 252 }, 253 { 254 "alignment" : 8, 255 "base_specifiers" : 256 [ 257 { 258 "is_virtual" : true, 259 "referenced_type" : "_ZTI7Vtable1" 260 }, 261 { 262 "is_virtual" : true, 263 "referenced_type" : "_ZTI7Vtable2" 264 } 265 ], 266 "fields" : 267 [ 268 { 269 "field_name" : "member_3", 270 "field_offset" : 64, 271 "referenced_type" : "_ZTIi" 272 }, 273 { 274 "field_name" : "added_member_3", 275 "field_offset" : 96, 276 "referenced_type" : "_ZTIi" 277 } 278 ], 279 "linker_set_key" : "_ZTI7Vtable3", 280 "name" : "Vtable3", 281 "size" : 48, 282 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h", 283 "vtable_components" : 284 [ 285 { 286 "component_value" : 32, 287 "kind" : "vbase_offset" 288 }, 289 { 290 "component_value" : 16, 291 "kind" : "vbase_offset" 292 }, 293 { 294 "kind" : "offset_to_top" 295 }, 296 { 297 "kind" : "rtti", 298 "mangled_component_name" : "_ZTI7Vtable3" 299 }, 300 { 301 "kind" : "complete_dtor_pointer", 302 "mangled_component_name" : "_ZN7Vtable3D1Ev" 303 }, 304 { 305 "kind" : "deleting_dtor_pointer", 306 "mangled_component_name" : "_ZN7Vtable3D0Ev" 307 }, 308 { 309 "mangled_component_name" : "_ZN7Vtable310function_3Ev" 310 }, 311 { 312 "mangled_component_name" : "_ZN7Vtable316added_function_3Ev" 313 }, 314 { 315 "kind" : "vcall_offset" 316 }, 317 { 318 "kind" : "vcall_offset" 319 }, 320 { 321 "component_value" : -16, 322 "kind" : "vcall_offset" 323 }, 324 { 325 "component_value" : -16, 326 "kind" : "offset_to_top" 327 }, 328 { 329 "kind" : "rtti", 330 "mangled_component_name" : "_ZTI7Vtable3" 331 }, 332 { 333 "kind" : "complete_dtor_pointer", 334 "mangled_component_name" : "_ZTv0_n24_N7Vtable3D1Ev" 335 }, 336 { 337 "kind" : "deleting_dtor_pointer", 338 "mangled_component_name" : "_ZTv0_n24_N7Vtable3D0Ev" 339 }, 340 { 341 "is_pure" : true, 342 "mangled_component_name" : "_ZN7Vtable110function_1Ev" 343 }, 344 { 345 "is_pure" : true, 346 "mangled_component_name" : "_ZN7Vtable116added_function_1Ev" 347 }, 348 { 349 "component_value" : -32, 350 "kind" : "vcall_offset" 351 }, 352 { 353 "kind" : "vcall_offset" 354 }, 355 { 356 "kind" : "vcall_offset" 357 }, 358 { 359 "component_value" : -32, 360 "kind" : "offset_to_top" 361 }, 362 { 363 "kind" : "rtti", 364 "mangled_component_name" : "_ZTI7Vtable3" 365 }, 366 { 367 "mangled_component_name" : "_ZN7Vtable210function_2Ev" 368 }, 369 { 370 "is_pure" : true, 371 "mangled_component_name" : "_ZN7Vtable216added_function_2Ev" 372 }, 373 { 374 "kind" : "complete_dtor_pointer", 375 "mangled_component_name" : "_ZTv0_n40_N7Vtable3D1Ev" 376 }, 377 { 378 "kind" : "deleting_dtor_pointer", 379 "mangled_component_name" : "_ZTv0_n40_N7Vtable3D0Ev" 380 } 381 ] 382 }, 383 { 384 "alignment" : 4, 385 "fields" : 386 [ 387 { 388 "field_name" : "nested_member", 389 "referenced_type" : "_ZTIi" 390 }, 391 { 392 "field_name" : "added_member", 393 "referenced_type" : "_ZTIA2_i" 394 } 395 ], 396 "linker_set_key" : "_ZTIN7Struct26NestedE", 397 "name" : "Struct2::Nested", 398 "record_kind" : "union", 399 "size" : 8, 400 "source_file" : "development/vndk/tools/header-checker/tests/integration/struct_extensions/include/extensions.h" 401 } 402 ], 403 "rvalue_reference_types" : [] 404} 405