You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3543 lines
80 KiB

<"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,
"is_this_declaration_referenced" : 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,
"is_this_declaration_referenced" : true
},
{
"name" : "Class",
"qual_name" : [
"Class"
]
},
9,
{
}
)>,
<"ObjCInterfaceDecl" : (
{
"pointer" : 10,
"parent_pointer" : 1,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "Protocol",
"qual_name" : [
"Protocol"
]
},
[
],
{
},
{
}
)>,
<"TypedefDecl" : (
{
"pointer" : 11,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "__NSConstantString",
"qual_name" : [
"__NSConstantString"
]
},
0,
{
}
)>,
<"TypedefDecl" : (
{
"pointer" : 12,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "__builtin_ms_va_list",
"qual_name" : [
"__builtin_ms_va_list"
]
},
0,
{
}
)>,
<"TypedefDecl" : (
{
"pointer" : 13,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "__builtin_va_list",
"qual_name" : [
"__builtin_va_list"
]
},
0,
{
}
)>,
<"TypedefDecl" : (
{
"pointer" : 14,
"source_range" : (
{
"file" : "tests/FoundationStub.h",
"line" : 8,
"column" : 1
},
{
"column" : 13
}
),
"is_this_declaration_referenced" : true
},
{
"name" : "BOOL",
"qual_name" : [
"BOOL"
]
},
15,
{
}
)>,
<"TypedefDecl" : (
{
"pointer" : 16,
"source_range" : (
{
"line" : 9,
"column" : 1
},
{
"column" : 22
}
),
"is_this_declaration_referenced" : true
},
{
"name" : "NSUInteger",
"qual_name" : [
"NSUInteger"
]
},
17,
{
}
)>,
<"ObjCInterfaceDecl" : (
{
"pointer" : 18,
"parent_pointer" : 1,
"source_range" : (
{
"line" : 16,
"column" : 1
},
{
"line" : 27,
"column" : 2
}
)
},
{
"name" : "NSObject",
"qual_name" : [
"NSObject"
]
},
[
<"ObjCMethodDecl" : (
{
"pointer" : 19,
"parent_pointer" : 18,
"source_range" : (
{
"line" : 18,
"column" : 1
},
{
"column" : 22
}
),
"attributes" : [
<"NSReturnsRetainedAttr" : (
{
"pointer" : 20,
"source_range" : (
{
},
{
}
)
}
)>
]
},
{
"name" : "alloc",
"qual_name" : [
"alloc",
"NSObject"
]
},
{
"result_type" : {
"type_ptr" : 21
},
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 22,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 9,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 23,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "+[NSObject alloc]"
}
)>,
<"ObjCMethodDecl" : (
{
"pointer" : 24,
"parent_pointer" : 18,
"source_range" : (
{
"line" : 19,
"column" : 1
},
{
"column" : 20
}
),
"attributes" : [
<"NSReturnsRetainedAttr" : (
{
"pointer" : 25,
"source_range" : (
{
},
{
}
)
}
)>
]
},
{
"name" : "new",
"qual_name" : [
"new",
"NSObject"
]
},
{
"result_type" : {
"type_ptr" : 21
},
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 26,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 9,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 27,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "+[NSObject new]"
}
)>,
<"ObjCMethodDecl" : (
{
"pointer" : 28,
"parent_pointer" : 18,
"source_range" : (
{
"line" : 20,
"column" : 1
},
{
"column" : 28
}
)
},
{
"name" : "autorelease",
"qual_name" : [
"autorelease",
"NSObject"
]
},
{
"is_instance_method" : true,
"result_type" : {
"type_ptr" : 21
},
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 29,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 30,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 31,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "-[NSObject autorelease]"
}
)>,
<"ObjCMethodDecl" : (
{
"pointer" : 32,
"parent_pointer" : 18,
"source_range" : (
{
"line" : 21,
"column" : 1
},
{
"column" : 21
}
),
"attributes" : [
<"NSConsumesSelfAttr" : (
{
"pointer" : 33,
"source_range" : (
{
},
{
}
)
}
)>,
<"NSReturnsRetainedAttr" : (
{
"pointer" : 34,
"source_range" : (
{
},
{
}
)
}
)>
]
},
{
"name" : "init",
"qual_name" : [
"init",
"NSObject"
]
},
{
"is_instance_method" : true,
"result_type" : {
"type_ptr" : 21
},
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 35,
"source_range" : (
{
},
{
}
),
"is_implicit" : true,
"attributes" : [
<"NSConsumedAttr" : (
{
"pointer" : 36,
"source_range" : (
{
},
{
}
)
}
)>
]
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 30
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 37,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "-[NSObject init]"
}
)>,
<"ObjCMethodDecl" : (
{
"pointer" : 38,
"parent_pointer" : 18,
"source_range" : (
{
"line" : 22,
"column" : 1
},
{
"column" : 15
}
)
},
{
"name" : "class",
"qual_name" : [
"class",
"NSObject"
]
},
{
"is_instance_method" : true,
"result_type" : {
"type_ptr" : 9
},
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 39,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 30,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 40,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "-[NSObject class]"
}
)>,
<"ObjCMethodDecl" : (
{
"pointer" : 41,
"parent_pointer" : 18,
"source_range" : (
{
"line" : 24,
"column" : 1
},
{
"column" : 34
}
)
},
{
"name" : "respondsToSelector:",
"qual_name" : [
"respondsToSelector:",
"NSObject"
]
},
{
"is_instance_method" : true,
"result_type" : {
"type_ptr" : 15
},
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 42,
"source_range" : (
{
"column" : 29
},
{
"column" : 33
}
)
},
{
"name" : "s",
"qual_name" : [
"s"
]
},
{
"type_ptr" : 5
},
{
"parm_index_in_function" : 0
}
)>
],
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 43,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 30,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 44,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "-[NSObject respondsToSelector:]"
}
)>,
<"ObjCMethodDecl" : (
{
"pointer" : 45,
"parent_pointer" : 18,
"source_range" : (
{
"line" : 25,
"column" : 1
},
{
"column" : 41
}
)
},
{
"name" : "conformsToProtocol:",
"qual_name" : [
"conformsToProtocol:",
"NSObject"
]
},
{
"is_instance_method" : true,
"result_type" : {
"type_ptr" : 15
},
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 46,
"source_range" : (
{
"column" : 29
},
{
"column" : 40
}
)
},
{
"name" : "p",
"qual_name" : [
"p"
]
},
{
"type_ptr" : 47
},
{
"parm_index_in_function" : 0
}
)>
],
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 48,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 30,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 49,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "-[NSObject conformsToProtocol:]"
}
)>
],
{
},
{
}
)>,
<"ObjCInterfaceDecl" : (
{
"pointer" : 50,
"parent_pointer" : 1,
"source_range" : (
{
"line" : 29,
"column" : 1
},
{
"line" : 31,
"column" : 2
}
)
},
{
"name" : "NSNumber",
"qual_name" : [
"NSNumber"
]
},
[
<"ObjCMethodDecl" : (
{
"pointer" : 51,
"parent_pointer" : 50,
"source_range" : (
{
"line" : 30,
"column" : 1
},
{
"column" : 37
}
)
},
{
"name" : "numberWithInt:",
"qual_name" : [
"numberWithInt:",
"NSNumber"
]
},
{
"result_type" : {
"type_ptr" : 21
},
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 52,
"source_range" : (
{
"column" : 32
},
{
"column" : 36
}
)
},
{
"name" : "x",
"qual_name" : [
"x"
]
},
{
"type_ptr" : 53
},
{
"parm_index_in_function" : 0
}
)>
],
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 54,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 9,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 55,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "+[NSNumber numberWithInt:]"
}
)>
],
{
},
{
"super" : {
"kind" : <"ObjCInterface">,
"decl_pointer" : 18,
"name" : {
"name" : "NSObject",
"qual_name" : [
"NSObject"
]
}
}
}
)>,
<"ObjCInterfaceDecl" : (
{
"pointer" : 56,
"parent_pointer" : 1,
"source_range" : (
{
"line" : 33,
"column" : 1
},
{
"line" : 35,
"column" : 2
}
)
},
{
"name" : "NSString",
"qual_name" : [
"NSString"
]
},
[
<"ObjCMethodDecl" : (
{
"pointer" : 57,
"parent_pointer" : 56,
"source_range" : (
{
"line" : 34,
"column" : 1
},
{
"column" : 21
}
)
},
{
"name" : "length",
"qual_name" : [
"length",
"NSString"
]
},
{
"is_instance_method" : true,
"result_type" : {
"type_ptr" : 17
},
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 58,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 59,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 60,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "-[NSString length]"
}
)>
],
{
},
{
"super" : {
"kind" : <"ObjCInterface">,
"decl_pointer" : 18,
"name" : {
"name" : "NSObject",
"qual_name" : [
"NSObject"
]
}
}
}
)>,
<"ObjCInterfaceDecl" : (
{
"pointer" : 61,
"parent_pointer" : 1,
"source_range" : (
{
"line" : 37,
"column" : 1
},
{
"line" : 42,
"column" : 2
}
)
},
{
"name" : "NSDictionary",
"qual_name" : [
"NSDictionary"
]
},
[
<"ObjCMethodDecl" : (
{
"pointer" : 62,
"parent_pointer" : 61,
"source_range" : (
{
"line" : 38,
"column" : 1
},
{
"line" : 40,
"column" : 56
}
)
},
{
"name" : "dictionaryWithObjects:forKeys:count:",
"qual_name" : [
"dictionaryWithObjects:forKeys:count:",
"NSDictionary"
]
},
{
"result_type" : {
"type_ptr" : 21
},
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 63,
"source_range" : (
{
"line" : 38,
"column" : 46
},
{
"column" : 51
}
)
},
{
"name" : "objects",
"qual_name" : [
"objects"
]
},
{
"type_ptr" : 64
},
{
"parm_index_in_function" : 0
}
)>,
<"ParmVarDecl" : (
{
"pointer" : 65,
"source_range" : (
{
"line" : 39,
"column" : 46
},
{
"column" : 51
}
)
},
{
"name" : "keys",
"qual_name" : [
"keys"
]
},
{
"type_ptr" : 64
},
{
"parm_index_in_function" : 1
}
)>,
<"ParmVarDecl" : (
{
"pointer" : 66,
"source_range" : (
{
"line" : 40,
"column" : 40
},
{
"column" : 51
}
)
},
{
"name" : "count",
"qual_name" : [
"count"
]
},
{
"type_ptr" : 17
},
{
"parm_index_in_function" : 2
}
)>
],
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 67,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 9,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 68,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "+[NSDictionary dictionaryWithObjects:forKeys:count:]"
}
)>,
<"ObjCMethodDecl" : (
{
"pointer" : 69,
"parent_pointer" : 61,
"source_range" : (
{
"line" : 41,
"column" : 1
},
{
"column" : 38
}
)
},
{
"name" : "objectForKeyedSubscript:",
"qual_name" : [
"objectForKeyedSubscript:",
"NSDictionary"
]
},
{
"is_instance_method" : true,
"result_type" : {
"type_ptr" : 7
},
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 70,
"source_range" : (
{
"column" : 32
},
{
"column" : 35
}
)
},
{
"name" : "key",
"qual_name" : [
"key"
]
},
{
"type_ptr" : 7
},
{
"parm_index_in_function" : 0
}
)>
],
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 71,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 72,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 73,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "-[NSDictionary objectForKeyedSubscript:]"
}
)>
],
{
},
{
"super" : {
"kind" : <"ObjCInterface">,
"decl_pointer" : 18,
"name" : {
"name" : "NSObject",
"qual_name" : [
"NSObject"
]
}
}
}
)>,
<"ObjCInterfaceDecl" : (
{
"pointer" : 74,
"parent_pointer" : 1,
"source_range" : (
{
"line" : 44,
"column" : 1
},
{
"line" : 47,
"column" : 2
}
)
},
{
"name" : "NSArray",
"qual_name" : [
"NSArray"
]
},
[
<"ObjCMethodDecl" : (
{
"pointer" : 75,
"parent_pointer" : 74,
"source_range" : (
{
"line" : 45,
"column" : 1
},
{
"column" : 64
}
)
},
{
"name" : "arrayWithObjects:count:",
"qual_name" : [
"arrayWithObjects:count:",
"NSArray"
]
},
{
"result_type" : {
"type_ptr" : 21
},
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 76,
"source_range" : (
{
"column" : 35
},
{
"column" : 40
}
)
},
{
"name" : "objs",
"qual_name" : [
"objs"
]
},
{
"type_ptr" : 77
},
{
"parm_index_in_function" : 0
}
)>,
<"ParmVarDecl" : (
{
"pointer" : 78,
"source_range" : (
{
"column" : 52
},
{
"column" : 61
}
)
},
{
"name" : "cnt",
"qual_name" : [
"cnt"
]
},
{
"type_ptr" : 79
},
{
"parm_index_in_function" : 1
}
)>
],
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 80,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 9,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 81,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "+[NSArray arrayWithObjects:count:]"
}
)>,
<"ObjCMethodDecl" : (
{
"pointer" : 82,
"parent_pointer" : 74,
"source_range" : (
{
"line" : 46,
"column" : 1
},
{
"column" : 49
}
)
},
{
"name" : "objectAtIndexedSubscript:",
"qual_name" : [
"objectAtIndexedSubscript:",
"NSArray"
]
},
{
"is_instance_method" : true,
"result_type" : {
"type_ptr" : 7
},
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 83,
"source_range" : (
{
"column" : 33
},
{
"column" : 44
}
)
},
{
"name" : "index",
"qual_name" : [
"index"
]
},
{
"type_ptr" : 17
},
{
"parm_index_in_function" : 0
}
)>
],
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 84,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 85,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 86,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"mangled_name" : "-[NSArray objectAtIndexedSubscript:]"
}
)>
],
{
},
{
"super" : {
"kind" : <"ObjCInterface">,
"decl_pointer" : 18,
"name" : {
"name" : "NSObject",
"qual_name" : [
"NSObject"
]
}
}
}
)>,
<"ObjCInterfaceDecl" : (
{
"pointer" : 87,
"parent_pointer" : 1,
"source_range" : (
{
"line" : 49,
"column" : 1
},
{
"line" : 50,
"column" : 2
}
)
},
{
"name" : "NSException",
"qual_name" : [
"NSException"
]
},
[
],
{
},
{
"super" : {
"kind" : <"ObjCInterface">,
"decl_pointer" : 18,
"name" : {
"name" : "NSObject",
"qual_name" : [
"NSObject"
]
}
}
}
)>,
<"FunctionDecl" : (
{
"pointer" : 88,
"source_range" : (
{
"line" : 52,
"column" : 13
},
{
"column" : 13
}
),
"is_implicit" : true,
"attributes" : [
<"BuiltinAttr" : (
{
"pointer" : 89,
"source_range" : (
{
},
{
}
)
}
)>,
<"FormatAttr" : (
{
"pointer" : 90,
"source_range" : (
{
"column" : 13
},
{
"column" : 13
}
)
}
)>
]
},
{
"name" : "NSLog",
"qual_name" : [
"NSLog"
]
},
{
"type_ptr" : 91
},
{
"is_variadic" : true,
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 92,
"source_range" : (
{
},
{
}
)
},
{
"name" : "",
"qual_name" : [
""
]
},
{
"type_ptr" : 7
},
{
"parm_index_in_function" : 0
}
)>
]
}
)>,
<"FunctionDecl" : (
{
"pointer" : 93,
"source_range" : (
{
"column" : 1
},
{
"column" : 34
}
),
"attributes" : [
<"BuiltinAttr" : (
{
"pointer" : 94,
"source_range" : (
{
},
{
}
)
}
)>,
<"FormatAttr" : (
{
"pointer" : 95,
"source_range" : (
{
"column" : 13
},
{
"column" : 13
}
)
}
)>
]
},
{
"name" : "NSLog",
"qual_name" : [
"NSLog"
]
},
{
"type_ptr" : 91
},
{
"is_variadic" : true,
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 96,
"source_range" : (
{
"column" : 19
},
{
"column" : 28
}
)
},
{
"name" : "",
"qual_name" : [
""
]
},
{
"type_ptr" : 59
},
{
"parm_index_in_function" : 0
}
)>
]
}
)>,
<"RecordDecl" : (
{
"pointer" : 97,
"parent_pointer" : 1,
"source_range" : (
{
"file" : "tests/ObjCBridgeTransferTest.m",
"line" : 10,
"column" : 9
},
{
"line" : 11,
"column" : 1
}
)
},
{
"name" : "ABFDataRef",
"qual_name" : [
"ABFDataRef"
]
},
98,
[
],
{
},
<"TTK_Struct">,
{
"definition_ptr" : 97,
"is_complete_definition" : true
}
)>,
<"TypedefDecl" : (
{
"pointer" : 99,
"source_range" : (
{
"line" : 10,
"column" : 1
},
{
"line" : 11,
"column" : 3
}
),
"is_this_declaration_referenced" : true
},
{
"name" : "ABFDataRef",
"qual_name" : [
"ABFDataRef"
]
},
100,
{
}
)>,
<"ObjCInterfaceDecl" : (
{
"pointer" : 101,
"parent_pointer" : 1,
"source_range" : (
{
"line" : 13,
"column" : 1
},
{
"line" : 14,
"column" : 2
}
)
},
{
"name" : "ABFData",
"qual_name" : [
"ABFData"
]
},
[
],
{
},
{
}
)>,
<"FunctionDecl" : (
{
"pointer" : 102,
"source_range" : (
{
"line" : 16,
"column" : 1
},
{
"column" : 27
}
),
"is_used" : true,
"is_this_declaration_referenced" : true
},
{
"name" : "ABFDataCreate",
"qual_name" : [
"ABFDataCreate"
]
},
{
"type_ptr" : 103
},
{
}
)>,
<"ObjCInterfaceDecl" : (
{
"pointer" : 104,
"parent_pointer" : 1,
"source_range" : (
{
"line" : 18,
"column" : 1
},
{
"line" : 19,
"column" : 2
}
)
},
{
"name" : "A",
"qual_name" : [
"A"
]
},
[
],
{
},
{
"super" : {
"kind" : <"ObjCInterface">,
"decl_pointer" : 18,
"name" : {
"name" : "NSObject",
"qual_name" : [
"NSObject"
]
}
},
"implementation" : {
"kind" : <"ObjCImplementation">,
"decl_pointer" : 105,
"name" : {
"name" : "A",
"qual_name" : [
"A"
]
}
}
}
)>,
<"ObjCImplementationDecl" : (
{
"pointer" : 105,
"parent_pointer" : 1,
"source_range" : (
{
"line" : 21,
"column" : 1
},
{
"line" : 27,
"column" : 1
}
)
},
{
"name" : "A",
"qual_name" : [
"A"
]
},
[
<"ObjCMethodDecl" : (
{
"pointer" : 106,
"parent_pointer" : 105,
"source_range" : (
{
"line" : 23,
"column" : 1
},
{
"line" : 25,
"column" : 1
}
)
},
{
"name" : "bridge_transfer_example",
"qual_name" : [
"bridge_transfer_example",
"A"
]
},
{
"is_instance_method" : true,
"result_type" : {
"type_ptr" : 107
},
"implicit_parameters" : [
<"ImplicitParamDecl" : (
{
"pointer" : 108,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "self",
"qual_name" : [
"self"
]
},
{
"type_ptr" : 109,
"is_const" : true
},
{
}
)>,
<"ImplicitParamDecl" : (
{
"pointer" : 110,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "_cmd",
"qual_name" : [
"_cmd"
]
},
{
"type_ptr" : 5
},
{
}
)>
],
"body" : <"CompoundStmt" : (
{
"pointer" : 111,
"source_range" : (
{
"line" : 23,
"column" : 33
},
{
"line" : 25,
"column" : 1
}
)
},
[
<"DeclStmt" : (
{
"pointer" : 112,
"source_range" : (
{
"line" : 24,
"column" : 3
},
{
"column" : 66
}
)
},
[
<"ExprWithCleanups" : (
{
"pointer" : 113,
"source_range" : (
{
"column" : 23
},
{
"column" : 65
}
)
},
[
<"ImplicitCastExpr" : (
{
"pointer" : 114,
"source_range" : (
{
"column" : 23
},
{
"column" : 65
}
)
},
[
<"ObjCBridgedCastExpr" : (
{
"pointer" : 115,
"source_range" : (
{
"column" : 23
},
{
"column" : 65
}
)
},
[
<"CallExpr" : (
{
"pointer" : 116,
"source_range" : (
{
"column" : 51
},
{
"column" : 65
}
)
},
[
<"ImplicitCastExpr" : (
{
"pointer" : 117,
"source_range" : (
{
"column" : 51
},
{
"column" : 51
}
)
},
[
<"DeclRefExpr" : (
{
"pointer" : 118,
"source_range" : (
{
"column" : 51
},
{
"column" : 51
}
)
},
[
],
{
"qual_type" : {
"type_ptr" : 103
}
},
{
"decl_ref" : {
"kind" : <"Function">,
"decl_pointer" : 102,
"name" : {
"name" : "ABFDataCreate",
"qual_name" : [
"ABFDataCreate"
]
},
"qual_type" : {
"type_ptr" : 103
}
}
}
)>
],
{
"qual_type" : {
"type_ptr" : 119
}
},
{
"cast_kind" : <"FunctionToPointerDecay">,
"base_path" : [
]
}
)>
],
{
"qual_type" : {
"type_ptr" : 120
}
}
)>
],
{
"qual_type" : {
"type_ptr" : 121
}
},
{
"cast_kind" : <"CPointerToObjCPointerCast">,
"base_path" : [
]
},
{
"type_ptr" : 121
},
{
"cast_kind" : <"OBC_BridgeTransfer">
}
)>
],
{
"qual_type" : {
"type_ptr" : 121
}
},
{
"cast_kind" : <"ARCConsumeObject">,
"base_path" : [
]
}
)>
],
{
"qual_type" : {
"type_ptr" : 121
}
},
{
}
)>
],
[
<"VarDecl" : (
{
"pointer" : 122,
"source_range" : (
{
"column" : 3
},
{
"column" : 65
}
)
},
{
"name" : "someData",
"qual_name" : [
"someData"
]
},
{
"type_ptr" : 121
},
{
"init_expr" : <"ExprWithCleanups" : (
{
"pointer" : 113,
"source_range" : (
{
"column" : 23
},
{
"column" : 65
}
)
},
[
<"ImplicitCastExpr" : (
{
"pointer" : 114,
"source_range" : (
{
"column" : 23
},
{
"column" : 65
}
)
},
[
<"ObjCBridgedCastExpr" : (
{
"pointer" : 115,
"source_range" : (
{
"column" : 23
},
{
"column" : 65
}
)
},
[
<"CallExpr" : (
{
"pointer" : 116,
"source_range" : (
{
"column" : 51
},
{
"column" : 65
}
)
},
[
<"ImplicitCastExpr" : (
{
"pointer" : 117,
"source_range" : (
{
"column" : 51
},
{
"column" : 51
}
)
},
[
<"DeclRefExpr" : (
{
"pointer" : 118,
"source_range" : (
{
"column" : 51
},
{
"column" : 51
}
)
},
[
],
{
"qual_type" : {
"type_ptr" : 103
}
},
{
"decl_ref" : {
"kind" : <"Function">,
"decl_pointer" : 102,
"name" : {
"name" : "ABFDataCreate",
"qual_name" : [
"ABFDataCreate"
]
},
"qual_type" : {
"type_ptr" : 103
}
}
}
)>
],
{
"qual_type" : {
"type_ptr" : 119
}
},
{
"cast_kind" : <"FunctionToPointerDecay">,
"base_path" : [
]
}
)>
],
{
"qual_type" : {
"type_ptr" : 120
}
}
)>
],
{
"qual_type" : {
"type_ptr" : 121
}
},
{
"cast_kind" : <"CPointerToObjCPointerCast">,
"base_path" : [
]
},
{
"type_ptr" : 121
},
{
"cast_kind" : <"OBC_BridgeTransfer">
}
)>
],
{
"qual_type" : {
"type_ptr" : 121
}
},
{
"cast_kind" : <"ARCConsumeObject">,
"base_path" : [
]
}
)>
],
{
"qual_type" : {
"type_ptr" : 121
}
},
{
}
)>
}
)>
]
)>
]
)>,
"mangled_name" : "-[A bridge_transfer_example]"
}
)>
],
{
},
{
"class_interface" : {
"kind" : <"ObjCInterface">,
"decl_pointer" : 104,
"name" : {
"name" : "A",
"qual_name" : [
"A"
]
}
}
}
)>,
<"TypedefDecl" : (
{
"pointer" : 123,
"source_range" : (
{
},
{
}
),
"is_implicit" : true
},
{
"name" : "instancetype",
"qual_name" : [
"instancetype"
]
},
21,
{
}
)>
],
{
},
{
"input_path" : "tests/ObjCBridgeTransferTest.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" : 107
},
<"Void">
)>,
<"BuiltinType" : (
{
"pointer" : 124
},
<"Bool">
)>,
<"BuiltinType" : (
{
"pointer" : 125
},
<"Char_S">
)>,
<"BuiltinType" : (
{
"pointer" : 126
},
<"SChar">
)>,
<"BuiltinType" : (
{
"pointer" : 127
},
<"Short">
)>,
<"BuiltinType" : (
{
"pointer" : 53
},
<"Int">
)>,
<"BuiltinType" : (
{
"pointer" : 128
},
<"Long">
)>,
<"BuiltinType" : (
{
"pointer" : 129
},
<"LongLong">
)>,
<"BuiltinType" : (
{
"pointer" : 130
},
<"UChar">
)>,
<"BuiltinType" : (
{
"pointer" : 131
},
<"UShort">
)>,
<"BuiltinType" : (
{
"pointer" : 79
},
<"UInt">
)>,
<"BuiltinType" : (
{
"pointer" : 132
},
<"ULong">
)>,
<"BuiltinType" : (
{
"pointer" : 133
},
<"ULongLong">
)>,
<"BuiltinType" : (
{
"pointer" : 134
},
<"Float">
)>,
<"BuiltinType" : (
{
"pointer" : 135
},
<"Double">
)>,
<"BuiltinType" : (
{
"pointer" : 136
},
<"LongDouble">
)>,
<"BuiltinType" : (
{
"pointer" : 137
},
<"Float128">
)>,
<"BuiltinType" : (
{
"pointer" : 138
},
<"Float16">
)>,
<"BuiltinType" : (
{
"pointer" : 139
},
<"ShortAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 140
},
<"Accum">
)>,
<"BuiltinType" : (
{
"pointer" : 141
},
<"LongAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 142
},
<"UShortAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 143
},
<"UAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 144
},
<"ULongAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 145
},
<"ShortFract">
)>,
<"BuiltinType" : (
{
"pointer" : 146
},
<"Fract">
)>,
<"BuiltinType" : (
{
"pointer" : 147
},
<"LongFract">
)>,
<"BuiltinType" : (
{
"pointer" : 148
},
<"UShortFract">
)>,
<"BuiltinType" : (
{
"pointer" : 149
},
<"UFract">
)>,
<"BuiltinType" : (
{
"pointer" : 150
},
<"ULongFract">
)>,
<"BuiltinType" : (
{
"pointer" : 151
},
<"SatShortAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 152
},
<"SatAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 153
},
<"SatLongAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 154
},
<"SatUShortAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 155
},
<"SatUAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 156
},
<"SatULongAccum">
)>,
<"BuiltinType" : (
{
"pointer" : 157
},
<"SatShortFract">
)>,
<"BuiltinType" : (
{
"pointer" : 158
},
<"SatFract">
)>,
<"BuiltinType" : (
{
"pointer" : 159
},
<"SatLongFract">
)>,
<"BuiltinType" : (
{
"pointer" : 160
},
<"SatUShortFract">
)>,
<"BuiltinType" : (
{
"pointer" : 161
},
<"SatUFract">
)>,
<"BuiltinType" : (
{
"pointer" : 162
},
<"SatULongFract">
)>,
<"BuiltinType" : (
{
"pointer" : 163
},
<"Int128">
)>,
<"BuiltinType" : (
{
"pointer" : 164
},
<"UInt128">
)>,
<"BuiltinType" : (
{
"pointer" : 165
},
<"WChar_S">
)>,
<"BuiltinType" : (
{
"pointer" : 166
},
<"Char8">
)>,
<"BuiltinType" : (
{
"pointer" : 167
},
<"Dependent">
)>,
<"BuiltinType" : (
{
"pointer" : 168
},
<"Overload">
)>,
<"BuiltinType" : (
{
"pointer" : 169
},
<"BoundMember">
)>,
<"BuiltinType" : (
{
"pointer" : 170
},
<"PseudoObject">
)>,
<"BuiltinType" : (
{
"pointer" : 171
},
<"UnknownAny">
)>,
<"BuiltinType" : (
{
"pointer" : 172
},
<"ARCUnbridgedCast">
)>,
<"BuiltinType" : (
{
"pointer" : 173
},
<"BuiltinFn">
)>,
<"ComplexType" : (
{
"pointer" : 174
}
)>,
<"ComplexType" : (
{
"pointer" : 175
}
)>,
<"ComplexType" : (
{
"pointer" : 176
}
)>,
<"ComplexType" : (
{
"pointer" : 177
}
)>,
<"BuiltinType" : (
{
"pointer" : 178
},
<"ObjCId">
)>,
<"BuiltinType" : (
{
"pointer" : 179
},
<"ObjCClass">
)>,
<"BuiltinType" : (
{
"pointer" : 180
},
<"ObjCSel">
)>,
<"PointerType" : (
{
"pointer" : 181
},
{
"type_ptr" : 107
}
)>,
<"BuiltinType" : (
{
"pointer" : 182
},
<"NullPtr">
)>,
<"BuiltinType" : (
{
"pointer" : 183
},
<"Half">
)>,
<"BuiltinType" : (
{
"pointer" : 184
},
<"BFloat16">
)>,
<"PointerType" : (
{
"pointer" : 185
},
{
"type_ptr" : 180
}
)>,
<"ObjCObjectType" : (
{
"pointer" : 186
},
{
"base_type" : 178
}
)>,
<"ObjCObjectPointerType" : (
{
"pointer" : 187
},
{
"type_ptr" : 186
}
)>,
<"ObjCObjectType" : (
{
"pointer" : 188
},
{
"base_type" : 179
}
)>,
<"ObjCObjectPointerType" : (
{
"pointer" : 189
},
{
"type_ptr" : 188
}
)>,
<"ObjCInterfaceType" : (
{
"pointer" : 190
},
10
)>,
<"RecordType" : (
{
"pointer" : 191
},
192
)>,
<"PointerType" : (
{
"pointer" : 193
},
{
"type_ptr" : 53,
"is_const" : true
}
)>,
<"PointerType" : (
{
"pointer" : 194
},
{
"type_ptr" : 125,
"is_const" : true
}
)>,
<"PointerType" : (
{
"pointer" : 195
},
{
"type_ptr" : 125
}
)>,
<"RecordType" : (
{
"pointer" : 196
},
197
)>,
<"ConstantArrayType" : (
{
"pointer" : 198
},
{
"element_type" : {
"type_ptr" : 196
},
"stride" : 24
},
1
)>,
<"ObjCInterfaceType" : (
{
"pointer" : 199
},
18
)>,
<"TypedefType" : (
{
"pointer" : 7,
"desugared_type" : 187
},
{
"child_type" : {
"type_ptr" : 187
},
"decl_ptr" : 6
}
)>,
<"TypedefType" : (
{
"pointer" : 21,
"desugared_type" : 187
},
{
"child_type" : {
"type_ptr" : 7
},
"decl_ptr" : 123
}
)>,
<"TypedefType" : (
{
"pointer" : 9,
"desugared_type" : 189
},
{
"child_type" : {
"type_ptr" : 189
},
"decl_ptr" : 8
}
)>,
<"TypedefType" : (
{
"pointer" : 5,
"desugared_type" : 185
},
{
"child_type" : {
"type_ptr" : 185
},
"decl_ptr" : 4
}
)>,
<"ObjCObjectPointerType" : (
{
"pointer" : 30
},
{
"type_ptr" : 199
}
)>,
<"TypedefType" : (
{
"pointer" : 15,
"desugared_type" : 53
},
{
"child_type" : {
"type_ptr" : 53
},
"decl_ptr" : 14
}
)>,
<"ObjCObjectPointerType" : (
{
"pointer" : 47
},
{
"type_ptr" : 190
}
)>,
<"ObjCInterfaceType" : (
{
"pointer" : 200
},
50
)>,
<"ObjCInterfaceType" : (
{
"pointer" : 201
},
56
)>,
<"TypedefType" : (
{
"pointer" : 17,
"desugared_type" : 79
},
{
"child_type" : {
"type_ptr" : 79
},
"decl_ptr" : 16
}
)>,
<"ObjCObjectPointerType" : (
{
"pointer" : 59
},
{
"type_ptr" : 201
}
)>,
<"ObjCInterfaceType" : (
{
"pointer" : 202
},
61
)>,
<"IncompleteArrayType" : (
{
"pointer" : 203
},
{
"element_type" : {
"type_ptr" : 187
},
"stride" : 8
}
)>,
<"IncompleteArrayType" : (
{
"pointer" : 204
},
{
"element_type" : {
"type_ptr" : 7,
"is_const" : true
},
"stride" : 8
}
)>,
<"IncompleteArrayType" : (
{
"pointer" : 205
},
{
"element_type" : {
"type_ptr" : 7,
"is_const" : true
},
"stride" : 8
}
)>,
<"PointerType" : (
{
"pointer" : 206
},
{
"type_ptr" : 187,
"is_const" : true
}
)>,
<"PointerType" : (
{
"pointer" : 207
},
{
"type_ptr" : 7,
"is_const" : true
}
)>,
<"DecayedType" : (
{
"pointer" : 64,
"desugared_type" : 207
},
{
"type_ptr" : 207
}
)>,
<"ObjCObjectPointerType" : (
{
"pointer" : 72
},
{
"type_ptr" : 202
}
)>,
<"ObjCInterfaceType" : (
{
"pointer" : 208
},
74
)>,
<"PointerType" : (
{
"pointer" : 209
},
{
"type_ptr" : 187
}
)>,
<"PointerType" : (
{
"pointer" : 77
},
{
"type_ptr" : 7
}
)>,
<"ObjCObjectPointerType" : (
{
"pointer" : 85
},
{
"type_ptr" : 208
}
)>,
<"ObjCInterfaceType" : (
{
"pointer" : 210
},
87
)>,
<"FunctionProtoType" : (
{
"pointer" : 211
},
{
"return_type" : {
"type_ptr" : 107
}
},
{
"params_type" : [
{
"type_ptr" : 59
}
]
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 212
},
{
"return_type" : {
"type_ptr" : 107
}
},
{
"params_type" : [
{
"type_ptr" : 59
}
]
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 213
},
{
"return_type" : {
"type_ptr" : 107
}
},
{
"params_type" : [
{
"type_ptr" : 187
}
]
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 91
},
{
"return_type" : {
"type_ptr" : 107
}
},
{
"params_type" : [
{
"type_ptr" : 7
}
]
}
)>,
<"RecordType" : (
{
"pointer" : 98
},
97
)>,
<"ElaboratedType" : (
{
"pointer" : 214,
"desugared_type" : 98
}
)>,
<"ObjCInterfaceType" : (
{
"pointer" : 215
},
101
)>,
<"TypedefType" : (
{
"pointer" : 100,
"desugared_type" : 98
},
{
"child_type" : {
"type_ptr" : 214
},
"decl_ptr" : 99
}
)>,
<"PointerType" : (
{
"pointer" : 216
},
{
"type_ptr" : 98
}
)>,
<"PointerType" : (
{
"pointer" : 120
},
{
"type_ptr" : 100
}
)>,
<"FunctionNoProtoType" : (
{
"pointer" : 217
},
{
"return_type" : {
"type_ptr" : 216
}
}
)>,
<"FunctionNoProtoType" : (
{
"pointer" : 103
},
{
"return_type" : {
"type_ptr" : 120
}
}
)>,
<"ObjCInterfaceType" : (
{
"pointer" : 218
},
104
)>,
<"ObjCObjectPointerType" : (
{
"pointer" : 109
},
{
"type_ptr" : 218
}
)>,
<"ObjCObjectPointerType" : (
{
"pointer" : 121
},
{
"type_ptr" : 215
}
)>,
<"PointerType" : (
{
"pointer" : 219
},
{
"type_ptr" : 217
}
)>,
<"PointerType" : (
{
"pointer" : 119
},
{
"type_ptr" : 103
}
)>,
<"NoneType" : (
{
"pointer" : 0
}
)>
]
}
)>