<"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, { } )>, <"FunctionDecl" : ( { "pointer" : 7, "source_range" : ( { "file" : "tests/c_attributes.c", "line" : 7, "column" : 1 }, { "column" : 60 } ), "attributes" : [ <"SentinelAttr" : ( { "pointer" : 8, "source_range" : ( { "column" : 45 }, { "column" : 58 } ) }, { "sentinel" : 0, "null_pos" : 1 } )> ] }, { "name" : "add_all_ints", "qual_name" : [ "add_all_ints" ] }, { "type_ptr" : 9 }, { "is_variadic" : true, "parameters" : [ <"ParmVarDecl" : ( { "pointer" : 10, "source_range" : ( { "column" : 18 }, { "column" : 22 } ) }, { "name" : "a", "qual_name" : [ "a" ] }, { "type_ptr" : 11 }, { "parm_index_in_function" : 0 } )> ] } )>, <"TypedefDecl" : ( { "pointer" : 12, "source_range" : ( { }, { } ), "is_implicit" : true }, { "name" : "instancetype", "qual_name" : [ "instancetype" ] }, 13, { } )> ], { }, { "input_path" : "tests/c_attributes.c", "input_kind" : <"IK_C">, "integer_type_widths" : { "char_type" : 8, "short_type" : 16, "int_type" : 32, "long_type" : 64, "longlong_type" : 64 }, "types" : [ <"BuiltinType" : ( { "pointer" : 14 }, <"Void"> )>, <"BuiltinType" : ( { "pointer" : 15 }, <"Bool"> )>, <"BuiltinType" : ( { "pointer" : 16 }, <"Char_S"> )>, <"BuiltinType" : ( { "pointer" : 17 }, <"SChar"> )>, <"BuiltinType" : ( { "pointer" : 18 }, <"Short"> )>, <"BuiltinType" : ( { "pointer" : 11 }, <"Int"> )>, <"BuiltinType" : ( { "pointer" : 19 }, <"Long"> )>, <"BuiltinType" : ( { "pointer" : 20 }, <"LongLong"> )>, <"BuiltinType" : ( { "pointer" : 21 }, <"UChar"> )>, <"BuiltinType" : ( { "pointer" : 22 }, <"UShort"> )>, <"BuiltinType" : ( { "pointer" : 23 }, <"UInt"> )>, <"BuiltinType" : ( { "pointer" : 24 }, <"ULong"> )>, <"BuiltinType" : ( { "pointer" : 25 }, <"ULongLong"> )>, <"BuiltinType" : ( { "pointer" : 26 }, <"Float"> )>, <"BuiltinType" : ( { "pointer" : 27 }, <"Double"> )>, <"BuiltinType" : ( { "pointer" : 28 }, <"LongDouble"> )>, <"BuiltinType" : ( { "pointer" : 29 }, <"Float128"> )>, <"BuiltinType" : ( { "pointer" : 30 }, <"Float16"> )>, <"BuiltinType" : ( { "pointer" : 31 }, <"ShortAccum"> )>, <"BuiltinType" : ( { "pointer" : 32 }, <"Accum"> )>, <"BuiltinType" : ( { "pointer" : 33 }, <"LongAccum"> )>, <"BuiltinType" : ( { "pointer" : 34 }, <"UShortAccum"> )>, <"BuiltinType" : ( { "pointer" : 35 }, <"UAccum"> )>, <"BuiltinType" : ( { "pointer" : 36 }, <"ULongAccum"> )>, <"BuiltinType" : ( { "pointer" : 37 }, <"ShortFract"> )>, <"BuiltinType" : ( { "pointer" : 38 }, <"Fract"> )>, <"BuiltinType" : ( { "pointer" : 39 }, <"LongFract"> )>, <"BuiltinType" : ( { "pointer" : 40 }, <"UShortFract"> )>, <"BuiltinType" : ( { "pointer" : 41 }, <"UFract"> )>, <"BuiltinType" : ( { "pointer" : 42 }, <"ULongFract"> )>, <"BuiltinType" : ( { "pointer" : 43 }, <"SatShortAccum"> )>, <"BuiltinType" : ( { "pointer" : 44 }, <"SatAccum"> )>, <"BuiltinType" : ( { "pointer" : 45 }, <"SatLongAccum"> )>, <"BuiltinType" : ( { "pointer" : 46 }, <"SatUShortAccum"> )>, <"BuiltinType" : ( { "pointer" : 47 }, <"SatUAccum"> )>, <"BuiltinType" : ( { "pointer" : 48 }, <"SatULongAccum"> )>, <"BuiltinType" : ( { "pointer" : 49 }, <"SatShortFract"> )>, <"BuiltinType" : ( { "pointer" : 50 }, <"SatFract"> )>, <"BuiltinType" : ( { "pointer" : 51 }, <"SatLongFract"> )>, <"BuiltinType" : ( { "pointer" : 52 }, <"SatUShortFract"> )>, <"BuiltinType" : ( { "pointer" : 53 }, <"SatUFract"> )>, <"BuiltinType" : ( { "pointer" : 54 }, <"SatULongFract"> )>, <"BuiltinType" : ( { "pointer" : 55 }, <"Int128"> )>, <"BuiltinType" : ( { "pointer" : 56 }, <"UInt128"> )>, <"BuiltinType" : ( { "pointer" : 57 }, <"WChar_S"> )>, <"BuiltinType" : ( { "pointer" : 58 }, <"Char8"> )>, <"BuiltinType" : ( { "pointer" : 59 }, <"Dependent"> )>, <"BuiltinType" : ( { "pointer" : 60 }, <"Overload"> )>, <"BuiltinType" : ( { "pointer" : 61 }, <"BoundMember"> )>, <"BuiltinType" : ( { "pointer" : 62 }, <"PseudoObject"> )>, <"BuiltinType" : ( { "pointer" : 63 }, <"UnknownAny"> )>, <"BuiltinType" : ( { "pointer" : 64 }, <"ARCUnbridgedCast"> )>, <"BuiltinType" : ( { "pointer" : 65 }, <"BuiltinFn"> )>, <"ComplexType" : ( { "pointer" : 66 } )>, <"ComplexType" : ( { "pointer" : 67 } )>, <"ComplexType" : ( { "pointer" : 68 } )>, <"ComplexType" : ( { "pointer" : 69 } )>, <"BuiltinType" : ( { "pointer" : 70 }, <"ObjCId"> )>, <"BuiltinType" : ( { "pointer" : 71 }, <"ObjCClass"> )>, <"BuiltinType" : ( { "pointer" : 72 }, <"ObjCSel"> )>, <"PointerType" : ( { "pointer" : 73 }, { "type_ptr" : 14 } )>, <"BuiltinType" : ( { "pointer" : 74 }, <"NullPtr"> )>, <"BuiltinType" : ( { "pointer" : 75 }, <"Half"> )>, <"RecordType" : ( { "pointer" : 76 }, 77 )>, <"PointerType" : ( { "pointer" : 78 }, { "type_ptr" : 11, "is_const" : true } )>, <"PointerType" : ( { "pointer" : 79 }, { "type_ptr" : 16, "is_const" : true } )>, <"PointerType" : ( { "pointer" : 80 }, { "type_ptr" : 16 } )>, <"RecordType" : ( { "pointer" : 81 }, 82 )>, <"ConstantArrayType" : ( { "pointer" : 83 }, { "element_type" : { "type_ptr" : 81 }, "stride" : 24 }, 1 )>, <"FunctionProtoType" : ( { "pointer" : 9 }, { "return_type" : { "type_ptr" : 11 } }, { "params_type" : [ { "type_ptr" : 11 } ] } )>, <"ObjCObjectType" : ( { "pointer" : 84 }, { "base_type" : 70 } )>, <"ObjCObjectPointerType" : ( { "pointer" : 85 }, { "type_ptr" : 84 } )>, <"TypedefType" : ( { "pointer" : 86, "desugared_type" : 85 }, { "child_type" : { "type_ptr" : 85 }, "decl_ptr" : 87 } )>, <"TypedefType" : ( { "pointer" : 13, "desugared_type" : 85 }, { "child_type" : { "type_ptr" : 86 }, "decl_ptr" : 12 } )>, <"NoneType" : ( { "pointer" : 0 } )> ] } )>