|
|
|
["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" : "SEL",
|
|
|
|
"qual_name" : [
|
|
|
|
"SEL"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
5,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 6,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true,
|
|
|
|
"is_this_declaration_referenced" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "id",
|
|
|
|
"qual_name" : [
|
|
|
|
"id"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
7,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 8,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "Class",
|
|
|
|
"qual_name" : [
|
|
|
|
"Class"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
0,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCInterfaceDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 9,
|
|
|
|
"parent_pointer" : 1,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "Protocol",
|
|
|
|
"qual_name" : [
|
|
|
|
"Protocol"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
],
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 10,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "__NSConstantString",
|
|
|
|
"qual_name" : [
|
|
|
|
"__NSConstantString"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
0,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 11,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "__builtin_ms_va_list",
|
|
|
|
"qual_name" : [
|
|
|
|
"__builtin_ms_va_list"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
0,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 12,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "__builtin_va_list",
|
|
|
|
"qual_name" : [
|
|
|
|
"__builtin_va_list"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
0,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCInterfaceDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 13,
|
|
|
|
"parent_pointer" : 1,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"file" : "tests/optional.m",
|
|
|
|
"line" : 8,
|
|
|
|
"column" : 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"line" : 9,
|
|
|
|
"column" : 2
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "NSObject",
|
|
|
|
"qual_name" : [
|
|
|
|
"NSObject"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
],
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCProtocolDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 14,
|
|
|
|
"parent_pointer" : 1,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"line" : 11,
|
|
|
|
"column" : 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"line" : 12,
|
|
|
|
"column" : 2
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "NSObject",
|
|
|
|
"qual_name" : [
|
|
|
|
"NSObject"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
],
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCProtocolDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 15,
|
|
|
|
"parent_pointer" : 1,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"line" : 14,
|
|
|
|
"column" : 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"line" : 17,
|
|
|
|
"column" : 2
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "BarDelegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"BarDelegate"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["ObjCMethodDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 16,
|
|
|
|
"parent_pointer" : 15,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"line" : 16,
|
|
|
|
"column" : 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 25
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "optionalFunction",
|
|
|
|
"qual_name" : [
|
|
|
|
"optionalFunction",
|
|
|
|
"BarDelegate"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"is_instance_method" : true,
|
|
|
|
"result_type" : {
|
|
|
|
"type_ptr" : 17
|
|
|
|
},
|
|
|
|
"implicit_parameters" : [
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 18,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "self",
|
|
|
|
"qual_name" : [
|
|
|
|
"self"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 7,
|
|
|
|
"is_const" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 19,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "_cmd",
|
|
|
|
"qual_name" : [
|
|
|
|
"_cmd"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 5
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
"is_optional" : true,
|
|
|
|
"mangled_name" : "-[BarDelegate optionalFunction]"
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"protocols" : [
|
|
|
|
{
|
|
|
|
"kind" : "ObjCProtocol",
|
|
|
|
"decl_pointer" : 14,
|
|
|
|
"name" : {
|
|
|
|
"name" : "NSObject",
|
|
|
|
"qual_name" : [
|
|
|
|
"NSObject"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCInterfaceDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 20,
|
|
|
|
"parent_pointer" : 1,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"line" : 19,
|
|
|
|
"column" : 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"line" : 21,
|
|
|
|
"column" : 2
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "Bar",
|
|
|
|
"qual_name" : [
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["ObjCPropertyDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 21,
|
|
|
|
"parent_pointer" : 20,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"line" : 20,
|
|
|
|
"column" : 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 22
|
|
|
|
},
|
|
|
|
"getter_method" : {
|
|
|
|
"kind" : "ObjCMethod",
|
|
|
|
"decl_pointer" : 23,
|
|
|
|
"name" : {
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"setter_method" : {
|
|
|
|
"kind" : "ObjCMethod",
|
|
|
|
"decl_pointer" : 24,
|
|
|
|
"name" : {
|
|
|
|
"name" : "setDelegate:",
|
|
|
|
"qual_name" : [
|
|
|
|
"setDelegate:",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"ivar_decl" : {
|
|
|
|
"kind" : "ObjCIvar",
|
|
|
|
"decl_pointer" : 25,
|
|
|
|
"name" : {
|
|
|
|
"name" : "_delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"_delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 22
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"property_attributes" : [
|
|
|
|
"Assign",
|
|
|
|
"Readwrite",
|
|
|
|
"Nonatomic",
|
|
|
|
"Unsafe_unretained"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCMethodDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 23,
|
|
|
|
"parent_pointer" : 20,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"is_instance_method" : true,
|
|
|
|
"result_type" : {
|
|
|
|
"type_ptr" : 22
|
|
|
|
},
|
|
|
|
"is_property_accessor" : true,
|
|
|
|
"property_decl" : {
|
|
|
|
"kind" : "ObjCProperty",
|
|
|
|
"decl_pointer" : 21,
|
|
|
|
"name" : {
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"implicit_parameters" : [
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 26,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "self",
|
|
|
|
"qual_name" : [
|
|
|
|
"self"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 28,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "_cmd",
|
|
|
|
"qual_name" : [
|
|
|
|
"_cmd"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 5
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
"mangled_name" : "-[Bar delegate]"
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCMethodDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 24,
|
|
|
|
"parent_pointer" : 20,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "setDelegate:",
|
|
|
|
"qual_name" : [
|
|
|
|
"setDelegate:",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"is_instance_method" : true,
|
|
|
|
"result_type" : {
|
|
|
|
"type_ptr" : 17
|
|
|
|
},
|
|
|
|
"is_property_accessor" : true,
|
|
|
|
"property_decl" : {
|
|
|
|
"kind" : "ObjCProperty",
|
|
|
|
"decl_pointer" : 21,
|
|
|
|
"name" : {
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"parameters" : [
|
|
|
|
["ParmVarDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 29,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 22
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"parm_index_in_function" : 0
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
"implicit_parameters" : [
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 30,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "self",
|
|
|
|
"qual_name" : [
|
|
|
|
"self"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 31,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "_cmd",
|
|
|
|
"qual_name" : [
|
|
|
|
"_cmd"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 5
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
"mangled_name" : "-[Bar setDelegate:]"
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"super" : {
|
|
|
|
"kind" : "ObjCInterface",
|
|
|
|
"decl_pointer" : 13,
|
|
|
|
"name" : {
|
|
|
|
"name" : "NSObject",
|
|
|
|
"qual_name" : [
|
|
|
|
"NSObject"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"implementation" : {
|
|
|
|
"kind" : "ObjCImplementation",
|
|
|
|
"decl_pointer" : 32,
|
|
|
|
"name" : {
|
|
|
|
"name" : "Bar",
|
|
|
|
"qual_name" : [
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCImplementationDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 32,
|
|
|
|
"parent_pointer" : 1,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"line" : 23,
|
|
|
|
"column" : 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"line" : 28,
|
|
|
|
"column" : 1
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "Bar",
|
|
|
|
"qual_name" : [
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["ObjCMethodDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 33,
|
|
|
|
"parent_pointer" : 32,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"line" : 24,
|
|
|
|
"column" : 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"line" : 26,
|
|
|
|
"column" : 1
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "unsafeAction",
|
|
|
|
"qual_name" : [
|
|
|
|
"unsafeAction",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"is_instance_method" : true,
|
|
|
|
"result_type" : {
|
|
|
|
"type_ptr" : 17
|
|
|
|
},
|
|
|
|
"implicit_parameters" : [
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 34,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true,
|
|
|
|
"is_used" : true,
|
|
|
|
"is_this_declaration_referenced" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "self",
|
|
|
|
"qual_name" : [
|
|
|
|
"self"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 35,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "_cmd",
|
|
|
|
"qual_name" : [
|
|
|
|
"_cmd"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 5
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
"body" : ["CompoundStmt" , [
|
|
|
|
{
|
|
|
|
"pointer" : 36,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"line" : 24,
|
|
|
|
"column" : 22
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"line" : 26,
|
|
|
|
"column" : 1
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["ExprWithCleanups" , [
|
|
|
|
{
|
|
|
|
"pointer" : 37,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"line" : 25,
|
|
|
|
"column" : 3
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 34
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["ObjCMessageExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 38,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 3
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 34
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["PseudoObjectExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 39,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 9
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["ObjCPropertyRefExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 40,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 9
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["OpaqueValueExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 41,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"source_expr" : ["ImplicitCastExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 42,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["DeclRefExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 43,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
},
|
|
|
|
"value_kind" : "LValue"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"decl_ref" : {
|
|
|
|
"kind" : "ImplicitParam",
|
|
|
|
"decl_pointer" : 34,
|
|
|
|
"name" : {
|
|
|
|
"name" : "self",
|
|
|
|
"qual_name" : [
|
|
|
|
"self"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cast_kind" : "LValueToRValue",
|
|
|
|
"base_path" : [
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 44
|
|
|
|
},
|
|
|
|
"value_kind" : "LValue",
|
|
|
|
"object_kind" : "ObjCProperty"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"kind" : ["PropertyRef" , {
|
|
|
|
"kind" : "ObjCProperty",
|
|
|
|
"decl_pointer" : 21,
|
|
|
|
"name" : {
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}],
|
|
|
|
"is_messaging_getter" : true
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["OpaqueValueExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 41,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"source_expr" : ["ImplicitCastExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 42,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["DeclRefExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 43,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
},
|
|
|
|
"value_kind" : "LValue"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"decl_ref" : {
|
|
|
|
"kind" : "ImplicitParam",
|
|
|
|
"decl_pointer" : 34,
|
|
|
|
"name" : {
|
|
|
|
"name" : "self",
|
|
|
|
"qual_name" : [
|
|
|
|
"self"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cast_kind" : "LValueToRValue",
|
|
|
|
"base_path" : [
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ImplicitCastExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 45,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 9
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 9
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["ObjCMessageExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 46,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 9
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 9
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["OpaqueValueExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 41,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"source_expr" : ["ImplicitCastExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 42,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
["DeclRefExpr" , [
|
|
|
|
{
|
|
|
|
"pointer" : 43,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
[
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
},
|
|
|
|
"value_kind" : "LValue"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"decl_ref" : {
|
|
|
|
"kind" : "ImplicitParam",
|
|
|
|
"decl_pointer" : 34,
|
|
|
|
"name" : {
|
|
|
|
"name" : "self",
|
|
|
|
"qual_name" : [
|
|
|
|
"self"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 27
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cast_kind" : "LValueToRValue",
|
|
|
|
"base_path" : [
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 22
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"selector" : "delegate",
|
|
|
|
"is_definition_found" : true,
|
|
|
|
"decl_pointer" : 47
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 22
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cast_kind" : "ARCReclaimReturnedObject",
|
|
|
|
"base_path" : [
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 22
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 17
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"selector" : "optionalFunction",
|
|
|
|
"decl_pointer" : 16
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 17
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
]
|
|
|
|
]],
|
|
|
|
"mangled_name" : "-[Bar unsafeAction]"
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCIvarDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 25,
|
|
|
|
"parent_pointer" : 32,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"line" : 20,
|
|
|
|
"column" : 46
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "_delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"_delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 22
|
|
|
|
},
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"is_synthesize" : true,
|
|
|
|
"access_control" : "Private"
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCPropertyImplDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 48,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"implementation" : "Synthesize",
|
|
|
|
"property_decl" : {
|
|
|
|
"kind" : "ObjCProperty",
|
|
|
|
"decl_pointer" : 21,
|
|
|
|
"name" : {
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"ivar_decl" : {
|
|
|
|
"kind" : "ObjCIvar",
|
|
|
|
"decl_pointer" : 25,
|
|
|
|
"name" : {
|
|
|
|
"name" : "_delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"_delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"qual_type" : {
|
|
|
|
"type_ptr" : 22
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCMethodDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 47,
|
|
|
|
"parent_pointer" : 32,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"is_instance_method" : true,
|
|
|
|
"result_type" : {
|
|
|
|
"type_ptr" : 22
|
|
|
|
},
|
|
|
|
"is_property_accessor" : true,
|
|
|
|
"property_decl" : {
|
|
|
|
"kind" : "ObjCProperty",
|
|
|
|
"decl_pointer" : 21,
|
|
|
|
"name" : {
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"implicit_parameters" : [
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 26,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "self",
|
|
|
|
"qual_name" : [
|
|
|
|
"self"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 28,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "_cmd",
|
|
|
|
"qual_name" : [
|
|
|
|
"_cmd"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 5
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
"mangled_name" : "-[Bar delegate]"
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCMethodDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 49,
|
|
|
|
"parent_pointer" : 32,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "setDelegate:",
|
|
|
|
"qual_name" : [
|
|
|
|
"setDelegate:",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"is_instance_method" : true,
|
|
|
|
"result_type" : {
|
|
|
|
"type_ptr" : 17
|
|
|
|
},
|
|
|
|
"is_property_accessor" : true,
|
|
|
|
"property_decl" : {
|
|
|
|
"kind" : "ObjCProperty",
|
|
|
|
"decl_pointer" : 21,
|
|
|
|
"name" : {
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate",
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"parameters" : [
|
|
|
|
["ParmVarDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 29,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"column" : 46
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "delegate",
|
|
|
|
"qual_name" : [
|
|
|
|
"delegate"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 22
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"parm_index_in_function" : 0
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
"implicit_parameters" : [
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 30,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "self",
|
|
|
|
"qual_name" : [
|
|
|
|
"self"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 27,
|
|
|
|
"is_const" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ImplicitParamDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 31,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "_cmd",
|
|
|
|
"qual_name" : [
|
|
|
|
"_cmd"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 5
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
"mangled_name" : "-[Bar setDelegate:]"
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"class_interface" : {
|
|
|
|
"kind" : "ObjCInterface",
|
|
|
|
"decl_pointer" : 20,
|
|
|
|
"name" : {
|
|
|
|
"name" : "Bar",
|
|
|
|
"qual_name" : [
|
|
|
|
"Bar"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefDecl" , [
|
|
|
|
{
|
|
|
|
"pointer" : 50,
|
|
|
|
"source_range" : [
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"is_implicit" : true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name" : "instancetype",
|
|
|
|
"qual_name" : [
|
|
|
|
"instancetype"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
51,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
],
|
|
|
|
{
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"input_path" : "tests/optional.m",
|
|
|
|
"input_kind" : "IK_ObjC",
|
|
|
|
"integer_type_widths" : {
|
|
|
|
"char_type" : 8,
|
|
|
|
"short_type" : 16,
|
|
|
|
"int_type" : 32,
|
|
|
|
"long_type" : 64,
|
|
|
|
"longlong_type" : 64
|
|
|
|
},
|
|
|
|
"is_objc_arc_on" : true,
|
|
|
|
"types" : [
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 17
|
|
|
|
},
|
|
|
|
"Void"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 52
|
|
|
|
},
|
|
|
|
"Bool"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 53
|
|
|
|
},
|
|
|
|
"Char_S"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 54
|
|
|
|
},
|
|
|
|
"SChar"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 55
|
|
|
|
},
|
|
|
|
"Short"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 56
|
|
|
|
},
|
|
|
|
"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" : 65
|
|
|
|
},
|
|
|
|
"Double"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 66
|
|
|
|
},
|
|
|
|
"LongDouble"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 67
|
|
|
|
},
|
|
|
|
"Float128"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 68
|
|
|
|
},
|
|
|
|
"Float16"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 69
|
|
|
|
},
|
|
|
|
"ShortAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 70
|
|
|
|
},
|
|
|
|
"Accum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 71
|
|
|
|
},
|
|
|
|
"LongAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 72
|
|
|
|
},
|
|
|
|
"UShortAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 73
|
|
|
|
},
|
|
|
|
"UAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 74
|
|
|
|
},
|
|
|
|
"ULongAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 75
|
|
|
|
},
|
|
|
|
"ShortFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 76
|
|
|
|
},
|
|
|
|
"Fract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 77
|
|
|
|
},
|
|
|
|
"LongFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 78
|
|
|
|
},
|
|
|
|
"UShortFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 79
|
|
|
|
},
|
|
|
|
"UFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 80
|
|
|
|
},
|
|
|
|
"ULongFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 81
|
|
|
|
},
|
|
|
|
"SatShortAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 82
|
|
|
|
},
|
|
|
|
"SatAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 83
|
|
|
|
},
|
|
|
|
"SatLongAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 84
|
|
|
|
},
|
|
|
|
"SatUShortAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 85
|
|
|
|
},
|
|
|
|
"SatUAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 86
|
|
|
|
},
|
|
|
|
"SatULongAccum"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 87
|
|
|
|
},
|
|
|
|
"SatShortFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 88
|
|
|
|
},
|
|
|
|
"SatFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 89
|
|
|
|
},
|
|
|
|
"SatLongFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 90
|
|
|
|
},
|
|
|
|
"SatUShortFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 91
|
|
|
|
},
|
|
|
|
"SatUFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 92
|
|
|
|
},
|
|
|
|
"SatULongFract"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 93
|
|
|
|
},
|
|
|
|
"Int128"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 94
|
|
|
|
},
|
|
|
|
"UInt128"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 95
|
|
|
|
},
|
|
|
|
"WChar_S"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 96
|
|
|
|
},
|
|
|
|
"Char8"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 97
|
|
|
|
},
|
|
|
|
"Dependent"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 98
|
|
|
|
},
|
|
|
|
"Overload"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 99
|
|
|
|
},
|
|
|
|
"BoundMember"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 44
|
|
|
|
},
|
|
|
|
"PseudoObject"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 100
|
|
|
|
},
|
|
|
|
"UnknownAny"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 101
|
|
|
|
},
|
|
|
|
"ARCUnbridgedCast"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 102
|
|
|
|
},
|
|
|
|
"BuiltinFn"
|
|
|
|
]],
|
|
|
|
["ComplexType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 103
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ComplexType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 104
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ComplexType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 105
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ComplexType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 106
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 107
|
|
|
|
},
|
|
|
|
"ObjCId"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 108
|
|
|
|
},
|
|
|
|
"ObjCClass"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 109
|
|
|
|
},
|
|
|
|
"ObjCSel"
|
|
|
|
]],
|
|
|
|
["PointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 110
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 17
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 111
|
|
|
|
},
|
|
|
|
"NullPtr"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 112
|
|
|
|
},
|
|
|
|
"Half"
|
|
|
|
]],
|
|
|
|
["BuiltinType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 113
|
|
|
|
},
|
|
|
|
"BFloat16"
|
|
|
|
]],
|
|
|
|
["PointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 114
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 109
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCObjectType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 115
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"base_type" : 107
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCObjectPointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 116
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 115
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCObjectType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 117
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"base_type" : 108
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCObjectPointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 118
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 117
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCInterfaceType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 119
|
|
|
|
},
|
|
|
|
9
|
|
|
|
]],
|
|
|
|
["RecordType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 120
|
|
|
|
},
|
|
|
|
121
|
|
|
|
]],
|
|
|
|
["PointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 122
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 56,
|
|
|
|
"is_const" : true
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["PointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 123
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 53,
|
|
|
|
"is_const" : true
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["PointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 124
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 53
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["RecordType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 125
|
|
|
|
},
|
|
|
|
126
|
|
|
|
]],
|
|
|
|
["ConstantArrayType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 127
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"element_type" : {
|
|
|
|
"type_ptr" : 125
|
|
|
|
},
|
|
|
|
"stride" : 24
|
|
|
|
},
|
|
|
|
1
|
|
|
|
]],
|
|
|
|
["ObjCInterfaceType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 128
|
|
|
|
},
|
|
|
|
13
|
|
|
|
]],
|
|
|
|
["TypedefType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 7,
|
|
|
|
"desugared_type" : 116
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"child_type" : {
|
|
|
|
"type_ptr" : 116
|
|
|
|
},
|
|
|
|
"decl_ptr" : 6
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 51,
|
|
|
|
"desugared_type" : 116
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"child_type" : {
|
|
|
|
"type_ptr" : 7
|
|
|
|
},
|
|
|
|
"decl_ptr" : 50
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["TypedefType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 5,
|
|
|
|
"desugared_type" : 114
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"child_type" : {
|
|
|
|
"type_ptr" : 114
|
|
|
|
},
|
|
|
|
"decl_ptr" : 4
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCInterfaceType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 129
|
|
|
|
},
|
|
|
|
20
|
|
|
|
]],
|
|
|
|
["ObjCObjectType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 130
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"base_type" : 107,
|
|
|
|
"protocol_decls_ptr" : [
|
|
|
|
15
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCObjectPointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 22
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 130
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["ObjCObjectPointerType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 27
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type_ptr" : 129
|
|
|
|
}
|
|
|
|
]],
|
|
|
|
["NoneType" , [
|
|
|
|
{
|
|
|
|
"pointer" : 0
|
|
|
|
}
|
|
|
|
]]
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]]
|