|
|
|
<"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
|
|
|
|
}
|
|
|
|
)>
|
|
|
|
]
|
|
|
|
}
|
|
|
|
)>
|