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.
2827 lines
70 KiB
2827 lines
70 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
|
|
},
|
|
{
|
|
"name" : "__NSConstantString",
|
|
"qual_name" : [
|
|
"__NSConstantString"
|
|
]
|
|
},
|
|
0,
|
|
{
|
|
}
|
|
)>,
|
|
<"TypedefDecl" : (
|
|
{
|
|
"pointer" : 5,
|
|
"source_range" : (
|
|
{
|
|
},
|
|
{
|
|
}
|
|
),
|
|
"is_implicit" : true
|
|
},
|
|
{
|
|
"name" : "__builtin_ms_va_list",
|
|
"qual_name" : [
|
|
"__builtin_ms_va_list"
|
|
]
|
|
},
|
|
0,
|
|
{
|
|
}
|
|
)>,
|
|
<"TypedefDecl" : (
|
|
{
|
|
"pointer" : 6,
|
|
"source_range" : (
|
|
{
|
|
},
|
|
{
|
|
}
|
|
),
|
|
"is_implicit" : true
|
|
},
|
|
{
|
|
"name" : "__builtin_va_list",
|
|
"qual_name" : [
|
|
"__builtin_va_list"
|
|
]
|
|
},
|
|
0,
|
|
{
|
|
}
|
|
)>,
|
|
<"NamespaceDecl" : (
|
|
{
|
|
"pointer" : 7,
|
|
"source_range" : (
|
|
{
|
|
"file" : "tests/class_template.cpp",
|
|
"line" : 7,
|
|
"column" : 1
|
|
},
|
|
{
|
|
"line" : 27,
|
|
"column" : 1
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "N",
|
|
"qual_name" : [
|
|
"N"
|
|
]
|
|
},
|
|
[
|
|
<"ClassTemplateDecl" : (
|
|
{
|
|
"pointer" : 8,
|
|
"source_range" : (
|
|
{
|
|
"line" : 8,
|
|
"column" : 1
|
|
},
|
|
{
|
|
"line" : 11,
|
|
"column" : 1
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"specializations" : [
|
|
<"ClassTemplateSpecializationDecl" : (
|
|
{
|
|
"pointer" : 9,
|
|
"parent_pointer" : 7,
|
|
"source_range" : (
|
|
{
|
|
"line" : 13,
|
|
"column" : 1
|
|
},
|
|
{
|
|
"line" : 16,
|
|
"column" : 1
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
10,
|
|
[
|
|
<"CXXRecordDecl" : (
|
|
{
|
|
"pointer" : 11,
|
|
"parent_pointer" : 9,
|
|
"source_range" : (
|
|
{
|
|
"line" : 14,
|
|
"column" : 1
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
10,
|
|
[
|
|
],
|
|
{
|
|
},
|
|
<"TTK_Struct">,
|
|
{
|
|
"definition_ptr" : 9
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"FieldDecl" : (
|
|
{
|
|
"pointer" : 12,
|
|
"parent_pointer" : 9,
|
|
"source_range" : (
|
|
{
|
|
"line" : 15,
|
|
"column" : 3
|
|
},
|
|
{
|
|
"column" : 5
|
|
}
|
|
),
|
|
"is_this_declaration_referenced" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "field",
|
|
"qual_name" : [
|
|
"field",
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 13
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"CXXConstructorDecl" : (
|
|
{
|
|
"pointer" : 14,
|
|
"parent_pointer" : 9,
|
|
"source_range" : (
|
|
{
|
|
"line" : 14,
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"is_used" : true,
|
|
"is_this_declaration_referenced" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 15
|
|
},
|
|
{
|
|
"mangled_name" : "7066629788491464130",
|
|
"is_cpp" : true,
|
|
"is_inline" : true,
|
|
"decl_ptr_with_body" : 14,
|
|
"body" : <"CompoundStmt" : (
|
|
{
|
|
"pointer" : 16,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
]
|
|
)>
|
|
},
|
|
{
|
|
"cxx_ctor_initializers" : [
|
|
{
|
|
"subject" : <"Member" : {
|
|
"kind" : <"Field">,
|
|
"decl_pointer" : 12,
|
|
"name" : {
|
|
"name" : "field",
|
|
"qual_name" : [
|
|
"field",
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 13
|
|
}
|
|
}>,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"init_expr" : <"CXXConstructExpr" : (
|
|
{
|
|
"pointer" : 17,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 13
|
|
}
|
|
},
|
|
{
|
|
"decl_ref" : {
|
|
"kind" : <"CXXConstructor">,
|
|
"decl_pointer" : 18,
|
|
"name" : {
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 15
|
|
}
|
|
}
|
|
}
|
|
)>
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"CXXConstructorDecl" : (
|
|
{
|
|
"pointer" : 19,
|
|
"parent_pointer" : 9,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 20
|
|
},
|
|
{
|
|
"mangled_name" : "11949468677960817094",
|
|
"is_cpp" : true,
|
|
"is_inline" : true,
|
|
"parameters" : [
|
|
<"ParmVarDecl" : (
|
|
{
|
|
"pointer" : 21,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "",
|
|
"qual_name" : [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 22
|
|
},
|
|
{
|
|
"parm_index_in_function" : 0
|
|
}
|
|
)>
|
|
]
|
|
},
|
|
{
|
|
"is_constexpr" : true
|
|
}
|
|
)>,
|
|
<"CXXConstructorDecl" : (
|
|
{
|
|
"pointer" : 23,
|
|
"parent_pointer" : 9,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 24
|
|
},
|
|
{
|
|
"mangled_name" : "14813278630171558444",
|
|
"is_cpp" : true,
|
|
"is_inline" : true,
|
|
"parameters" : [
|
|
<"ParmVarDecl" : (
|
|
{
|
|
"pointer" : 25,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "",
|
|
"qual_name" : [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 26
|
|
},
|
|
{
|
|
"parm_index_in_function" : 0
|
|
}
|
|
)>
|
|
]
|
|
},
|
|
{
|
|
"is_constexpr" : true
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
},
|
|
<"TTK_Struct">,
|
|
{
|
|
"definition_ptr" : 9,
|
|
"is_complete_definition" : true
|
|
},
|
|
{
|
|
"is_pod" : true
|
|
},
|
|
"15160212752071097404",
|
|
{
|
|
"template_decl" : 8,
|
|
"specialization_args" : [
|
|
<"Type" : {
|
|
"type_ptr" : 27
|
|
}>
|
|
]
|
|
}
|
|
)>
|
|
]
|
|
}
|
|
)>,
|
|
<"ClassTemplatePartialSpecializationDecl" : (
|
|
{
|
|
"pointer" : 28,
|
|
"parent_pointer" : 7,
|
|
"source_range" : (
|
|
{
|
|
"line" : 13,
|
|
"column" : 1
|
|
},
|
|
{
|
|
"line" : 16,
|
|
"column" : 1
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S<type-parameter-0-0 *>",
|
|
"N"
|
|
]
|
|
},
|
|
29,
|
|
[
|
|
<"CXXRecordDecl" : (
|
|
{
|
|
"pointer" : 30,
|
|
"parent_pointer" : 28,
|
|
"source_range" : (
|
|
{
|
|
"line" : 14,
|
|
"column" : 1
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<type-parameter-0-0 *>",
|
|
"N"
|
|
]
|
|
},
|
|
29,
|
|
[
|
|
],
|
|
{
|
|
},
|
|
<"TTK_Struct">,
|
|
{
|
|
"definition_ptr" : 0,
|
|
"is_dependent_type" : true
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"FieldDecl" : (
|
|
{
|
|
"pointer" : 31,
|
|
"parent_pointer" : 28,
|
|
"source_range" : (
|
|
{
|
|
"line" : 15,
|
|
"column" : 3
|
|
},
|
|
{
|
|
"column" : 5
|
|
}
|
|
),
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "field",
|
|
"qual_name" : [
|
|
"field",
|
|
"S<type-parameter-0-0 *>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 32
|
|
},
|
|
{
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
},
|
|
<"TTK_Struct">,
|
|
{
|
|
"definition_ptr" : 28,
|
|
"is_complete_definition" : true,
|
|
"is_dependent_type" : true
|
|
},
|
|
{
|
|
},
|
|
"15216485236755079891",
|
|
{
|
|
"template_decl" : 8,
|
|
"specialization_args" : [
|
|
<"Type" : {
|
|
"type_ptr" : 33
|
|
}>
|
|
]
|
|
}
|
|
)>,
|
|
<"ClassTemplateSpecializationDecl" : (
|
|
{
|
|
"pointer" : 34,
|
|
"parent_pointer" : 7,
|
|
"source_range" : (
|
|
{
|
|
"line" : 18,
|
|
"column" : 1
|
|
},
|
|
{
|
|
"line" : 21,
|
|
"column" : 1
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
35,
|
|
[
|
|
<"CXXRecordDecl" : (
|
|
{
|
|
"pointer" : 36,
|
|
"parent_pointer" : 34,
|
|
"source_range" : (
|
|
{
|
|
"line" : 19,
|
|
"column" : 1
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
35,
|
|
[
|
|
],
|
|
{
|
|
},
|
|
<"TTK_Struct">,
|
|
{
|
|
"definition_ptr" : 0
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"FieldDecl" : (
|
|
{
|
|
"pointer" : 37,
|
|
"parent_pointer" : 34,
|
|
"source_range" : (
|
|
{
|
|
"line" : 20,
|
|
"column" : 3
|
|
},
|
|
{
|
|
"column" : 7
|
|
}
|
|
),
|
|
"is_this_declaration_referenced" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "field",
|
|
"qual_name" : [
|
|
"field",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 38
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"CXXConstructorDecl" : (
|
|
{
|
|
"pointer" : 18,
|
|
"parent_pointer" : 34,
|
|
"source_range" : (
|
|
{
|
|
"line" : 19,
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"is_used" : true,
|
|
"is_this_declaration_referenced" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 15
|
|
},
|
|
{
|
|
"mangled_name" : "13141222913637319333",
|
|
"is_cpp" : true,
|
|
"is_inline" : true,
|
|
"decl_ptr_with_body" : 18,
|
|
"body" : <"CompoundStmt" : (
|
|
{
|
|
"pointer" : 39,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
]
|
|
)>
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"CXXDestructorDecl" : (
|
|
{
|
|
"pointer" : 40,
|
|
"parent_pointer" : 34,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "~S",
|
|
"qual_name" : [
|
|
"~S",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 41
|
|
},
|
|
{
|
|
"mangled_name" : "16063732695960137765",
|
|
"is_cpp" : true,
|
|
"is_inline" : true
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"CXXConstructorDecl" : (
|
|
{
|
|
"pointer" : 42,
|
|
"parent_pointer" : 34,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 43
|
|
},
|
|
{
|
|
"mangled_name" : "16241844907223898831",
|
|
"is_cpp" : true,
|
|
"is_inline" : true,
|
|
"parameters" : [
|
|
<"ParmVarDecl" : (
|
|
{
|
|
"pointer" : 44,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "",
|
|
"qual_name" : [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 45
|
|
},
|
|
{
|
|
"parm_index_in_function" : 0
|
|
}
|
|
)>
|
|
]
|
|
},
|
|
{
|
|
"is_constexpr" : true
|
|
}
|
|
)>,
|
|
<"CXXConstructorDecl" : (
|
|
{
|
|
"pointer" : 46,
|
|
"parent_pointer" : 34,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 47
|
|
},
|
|
{
|
|
"mangled_name" : "6117498947183732003",
|
|
"is_cpp" : true,
|
|
"is_inline" : true,
|
|
"parameters" : [
|
|
<"ParmVarDecl" : (
|
|
{
|
|
"pointer" : 48,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "",
|
|
"qual_name" : [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 49
|
|
},
|
|
{
|
|
"parm_index_in_function" : 0
|
|
}
|
|
)>
|
|
]
|
|
},
|
|
{
|
|
"is_constexpr" : true
|
|
}
|
|
)>,
|
|
<"CXXMethodDecl" : (
|
|
{
|
|
"pointer" : 50,
|
|
"parent_pointer" : 34,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"is_used" : true,
|
|
"is_this_declaration_referenced" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "operator=",
|
|
"qual_name" : [
|
|
"operator=",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 51
|
|
},
|
|
{
|
|
"mangled_name" : "16979568942442152295",
|
|
"is_cpp" : true,
|
|
"is_inline" : true,
|
|
"parameters" : [
|
|
<"ParmVarDecl" : (
|
|
{
|
|
"pointer" : 52,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_used" : true,
|
|
"is_this_declaration_referenced" : true
|
|
},
|
|
{
|
|
"name" : "",
|
|
"qual_name" : [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 45
|
|
},
|
|
{
|
|
"parm_index_in_function" : 0
|
|
}
|
|
)>
|
|
],
|
|
"decl_ptr_with_body" : 50,
|
|
"body" : <"CompoundStmt" : (
|
|
{
|
|
"pointer" : 53,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"BinaryOperator" : (
|
|
{
|
|
"pointer" : 54,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"MemberExpr" : (
|
|
{
|
|
"pointer" : 55,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"CXXThisExpr" : (
|
|
{
|
|
"pointer" : 56,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 27
|
|
}
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 38
|
|
},
|
|
"value_kind" : <"LValue">
|
|
},
|
|
{
|
|
"is_arrow" : true,
|
|
"performs_virtual_dispatch" : true,
|
|
"name" : {
|
|
"name" : "field",
|
|
"qual_name" : [
|
|
"field",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
"decl_ref" : {
|
|
"kind" : <"Field">,
|
|
"decl_pointer" : 37,
|
|
"name" : {
|
|
"name" : "field",
|
|
"qual_name" : [
|
|
"field",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 38
|
|
}
|
|
}
|
|
}
|
|
)>,
|
|
<"ImplicitCastExpr" : (
|
|
{
|
|
"pointer" : 57,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"MemberExpr" : (
|
|
{
|
|
"pointer" : 58,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"DeclRefExpr" : (
|
|
{
|
|
"pointer" : 59,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 35,
|
|
"is_const" : true
|
|
},
|
|
"value_kind" : <"LValue">
|
|
},
|
|
{
|
|
"decl_ref" : {
|
|
"kind" : <"ParmVar">,
|
|
"decl_pointer" : 52,
|
|
"name" : {
|
|
"name" : "",
|
|
"qual_name" : [
|
|
""
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 45
|
|
}
|
|
}
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 38,
|
|
"is_const" : true
|
|
},
|
|
"value_kind" : <"LValue">
|
|
},
|
|
{
|
|
"performs_virtual_dispatch" : true,
|
|
"name" : {
|
|
"name" : "field",
|
|
"qual_name" : [
|
|
"field",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
"decl_ref" : {
|
|
"kind" : <"Field">,
|
|
"decl_pointer" : 37,
|
|
"name" : {
|
|
"name" : "field",
|
|
"qual_name" : [
|
|
"field",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 38
|
|
}
|
|
}
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 38
|
|
}
|
|
},
|
|
{
|
|
"cast_kind" : <"LValueToRValue">,
|
|
"base_path" : [
|
|
]
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 38
|
|
},
|
|
"value_kind" : <"LValue">
|
|
},
|
|
{
|
|
"kind" : <"Assign">
|
|
}
|
|
)>,
|
|
<"ReturnStmt" : (
|
|
{
|
|
"pointer" : 60,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"UnaryOperator" : (
|
|
{
|
|
"pointer" : 61,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"CXXThisExpr" : (
|
|
{
|
|
"pointer" : 62,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
[
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 27
|
|
}
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 35
|
|
},
|
|
"value_kind" : <"LValue">
|
|
},
|
|
{
|
|
"kind" : <"Deref">
|
|
}
|
|
)>
|
|
]
|
|
)>
|
|
]
|
|
)>
|
|
},
|
|
{
|
|
"is_constexpr" : true
|
|
}
|
|
)>,
|
|
<"CXXMethodDecl" : (
|
|
{
|
|
"pointer" : 63,
|
|
"parent_pointer" : 34,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
),
|
|
"is_implicit" : true,
|
|
"access" : <"Public">
|
|
},
|
|
{
|
|
"name" : "operator=",
|
|
"qual_name" : [
|
|
"operator=",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 64
|
|
},
|
|
{
|
|
"mangled_name" : "12620087123913755403",
|
|
"is_cpp" : true,
|
|
"is_inline" : true,
|
|
"parameters" : [
|
|
<"ParmVarDecl" : (
|
|
{
|
|
"pointer" : 65,
|
|
"source_range" : (
|
|
{
|
|
"column" : 8
|
|
},
|
|
{
|
|
"column" : 8
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "",
|
|
"qual_name" : [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 49
|
|
},
|
|
{
|
|
"parm_index_in_function" : 0
|
|
}
|
|
)>
|
|
]
|
|
},
|
|
{
|
|
"is_constexpr" : true
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
},
|
|
<"TTK_Struct">,
|
|
{
|
|
"definition_ptr" : 34,
|
|
"is_complete_definition" : true
|
|
},
|
|
{
|
|
"is_pod" : true,
|
|
"destructor" : {
|
|
"kind" : <"CXXDestructor">,
|
|
"decl_pointer" : 40,
|
|
"name" : {
|
|
"name" : "~S",
|
|
"qual_name" : [
|
|
"~S",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 41
|
|
}
|
|
}
|
|
},
|
|
"9300085993929073917",
|
|
{
|
|
"template_decl" : 8,
|
|
"specialization_args" : [
|
|
<"Type" : {
|
|
"type_ptr" : 38
|
|
}>
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionDecl" : (
|
|
{
|
|
"pointer" : 66,
|
|
"source_range" : (
|
|
{
|
|
"line" : 23,
|
|
"column" : 1
|
|
},
|
|
{
|
|
"line" : 26,
|
|
"column" : 1
|
|
}
|
|
)
|
|
},
|
|
{
|
|
"name" : "test",
|
|
"qual_name" : [
|
|
"test",
|
|
"N"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 67
|
|
},
|
|
{
|
|
"mangled_name" : "3452486497056904182",
|
|
"is_cpp" : true,
|
|
"parameters" : [
|
|
<"ParmVarDecl" : (
|
|
{
|
|
"pointer" : 68,
|
|
"source_range" : (
|
|
{
|
|
"line" : 23,
|
|
"column" : 11
|
|
},
|
|
{
|
|
"column" : 18
|
|
}
|
|
),
|
|
"is_used" : true,
|
|
"is_this_declaration_referenced" : true
|
|
},
|
|
{
|
|
"name" : "p",
|
|
"qual_name" : [
|
|
"p"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 69
|
|
},
|
|
{
|
|
"parm_index_in_function" : 0
|
|
}
|
|
)>
|
|
],
|
|
"decl_ptr_with_body" : 66,
|
|
"body" : <"CompoundStmt" : (
|
|
{
|
|
"pointer" : 70,
|
|
"source_range" : (
|
|
{
|
|
"column" : 21
|
|
},
|
|
{
|
|
"line" : 26,
|
|
"column" : 1
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"DeclStmt" : (
|
|
{
|
|
"pointer" : 71,
|
|
"source_range" : (
|
|
{
|
|
"line" : 24,
|
|
"column" : 3
|
|
},
|
|
{
|
|
"column" : 18
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"CXXConstructExpr" : (
|
|
{
|
|
"pointer" : 72,
|
|
"source_range" : (
|
|
{
|
|
"column" : 15
|
|
},
|
|
{
|
|
"column" : 15
|
|
}
|
|
)
|
|
},
|
|
[
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 73
|
|
}
|
|
},
|
|
{
|
|
"decl_ref" : {
|
|
"kind" : <"CXXConstructor">,
|
|
"decl_pointer" : 14,
|
|
"name" : {
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 15
|
|
}
|
|
}
|
|
}
|
|
)>
|
|
],
|
|
[
|
|
<"VarDecl" : (
|
|
{
|
|
"pointer" : 74,
|
|
"source_range" : (
|
|
{
|
|
"column" : 3
|
|
},
|
|
{
|
|
"column" : 15
|
|
}
|
|
),
|
|
"is_used" : true,
|
|
"is_this_declaration_referenced" : true
|
|
},
|
|
{
|
|
"name" : "val",
|
|
"qual_name" : [
|
|
"val"
|
|
]
|
|
},
|
|
{
|
|
"type_ptr" : 73
|
|
},
|
|
{
|
|
"init_expr" : <"CXXConstructExpr" : (
|
|
{
|
|
"pointer" : 72,
|
|
"source_range" : (
|
|
{
|
|
"column" : 15
|
|
},
|
|
{
|
|
"column" : 15
|
|
}
|
|
)
|
|
},
|
|
[
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 73
|
|
}
|
|
},
|
|
{
|
|
"decl_ref" : {
|
|
"kind" : <"CXXConstructor">,
|
|
"decl_pointer" : 14,
|
|
"name" : {
|
|
"name" : "S",
|
|
"qual_name" : [
|
|
"S",
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 15
|
|
}
|
|
}
|
|
}
|
|
)>
|
|
}
|
|
)>
|
|
]
|
|
)>,
|
|
<"CXXOperatorCallExpr" : (
|
|
{
|
|
"pointer" : 75,
|
|
"source_range" : (
|
|
{
|
|
"line" : 25,
|
|
"column" : 3
|
|
},
|
|
{
|
|
"column" : 15
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"ImplicitCastExpr" : (
|
|
{
|
|
"pointer" : 76,
|
|
"source_range" : (
|
|
{
|
|
"column" : 13
|
|
},
|
|
{
|
|
"column" : 13
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"DeclRefExpr" : (
|
|
{
|
|
"pointer" : 77,
|
|
"source_range" : (
|
|
{
|
|
"column" : 13
|
|
},
|
|
{
|
|
"column" : 13
|
|
}
|
|
)
|
|
},
|
|
[
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 51
|
|
},
|
|
"value_kind" : <"LValue">
|
|
},
|
|
{
|
|
"decl_ref" : {
|
|
"kind" : <"CXXMethod">,
|
|
"decl_pointer" : 50,
|
|
"name" : {
|
|
"name" : "operator=",
|
|
"qual_name" : [
|
|
"operator=",
|
|
"S<int>",
|
|
"N"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 51
|
|
}
|
|
}
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 78
|
|
}
|
|
},
|
|
{
|
|
"cast_kind" : <"FunctionToPointerDecay">,
|
|
"base_path" : [
|
|
]
|
|
}
|
|
)>,
|
|
<"MemberExpr" : (
|
|
{
|
|
"pointer" : 79,
|
|
"source_range" : (
|
|
{
|
|
"column" : 3
|
|
},
|
|
{
|
|
"column" : 7
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"DeclRefExpr" : (
|
|
{
|
|
"pointer" : 80,
|
|
"source_range" : (
|
|
{
|
|
"column" : 3
|
|
},
|
|
{
|
|
"column" : 3
|
|
}
|
|
)
|
|
},
|
|
[
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 73
|
|
},
|
|
"value_kind" : <"LValue">
|
|
},
|
|
{
|
|
"decl_ref" : {
|
|
"kind" : <"Var">,
|
|
"decl_pointer" : 74,
|
|
"name" : {
|
|
"name" : "val",
|
|
"qual_name" : [
|
|
"val"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 73
|
|
}
|
|
}
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 13
|
|
},
|
|
"value_kind" : <"LValue">
|
|
},
|
|
{
|
|
"performs_virtual_dispatch" : true,
|
|
"name" : {
|
|
"name" : "field",
|
|
"qual_name" : [
|
|
"field",
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
"decl_ref" : {
|
|
"kind" : <"Field">,
|
|
"decl_pointer" : 12,
|
|
"name" : {
|
|
"name" : "field",
|
|
"qual_name" : [
|
|
"field",
|
|
"S<N::S<int> *>",
|
|
"N"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 13
|
|
}
|
|
}
|
|
}
|
|
)>,
|
|
<"ImplicitCastExpr" : (
|
|
{
|
|
"pointer" : 81,
|
|
"source_range" : (
|
|
{
|
|
"column" : 15
|
|
},
|
|
{
|
|
"column" : 15
|
|
}
|
|
)
|
|
},
|
|
[
|
|
<"DeclRefExpr" : (
|
|
{
|
|
"pointer" : 82,
|
|
"source_range" : (
|
|
{
|
|
"column" : 15
|
|
},
|
|
{
|
|
"column" : 15
|
|
}
|
|
)
|
|
},
|
|
[
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 69
|
|
},
|
|
"value_kind" : <"LValue">
|
|
},
|
|
{
|
|
"decl_ref" : {
|
|
"kind" : <"ParmVar">,
|
|
"decl_pointer" : 68,
|
|
"name" : {
|
|
"name" : "p",
|
|
"qual_name" : [
|
|
"p"
|
|
]
|
|
},
|
|
"qual_type" : {
|
|
"type_ptr" : 69
|
|
}
|
|
}
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 35,
|
|
"is_const" : true
|
|
},
|
|
"value_kind" : <"LValue">
|
|
},
|
|
{
|
|
"cast_kind" : <"NoOp">,
|
|
"base_path" : [
|
|
]
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
"qual_type" : {
|
|
"type_ptr" : 35
|
|
},
|
|
"value_kind" : <"LValue">
|
|
}
|
|
)>
|
|
]
|
|
)>
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"TypedefDecl" : (
|
|
{
|
|
"pointer" : 83,
|
|
"source_range" : (
|
|
{
|
|
},
|
|
{
|
|
}
|
|
),
|
|
"is_implicit" : true
|
|
},
|
|
{
|
|
"name" : "instancetype",
|
|
"qual_name" : [
|
|
"instancetype"
|
|
]
|
|
},
|
|
84,
|
|
{
|
|
}
|
|
)>
|
|
],
|
|
{
|
|
},
|
|
{
|
|
"input_path" : "tests/class_template.cpp",
|
|
"input_kind" : <"IK_CXX">,
|
|
"integer_type_widths" : {
|
|
"char_type" : 8,
|
|
"short_type" : 16,
|
|
"int_type" : 32,
|
|
"long_type" : 64,
|
|
"longlong_type" : 64
|
|
},
|
|
"types" : [
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 85
|
|
},
|
|
<"Void">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 86
|
|
},
|
|
<"Bool">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 87
|
|
},
|
|
<"Char_S">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 88
|
|
},
|
|
<"SChar">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 89
|
|
},
|
|
<"Short">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 38
|
|
},
|
|
<"Int">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 90
|
|
},
|
|
<"Long">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 91
|
|
},
|
|
<"LongLong">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 92
|
|
},
|
|
<"UChar">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 93
|
|
},
|
|
<"UShort">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 94
|
|
},
|
|
<"UInt">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 95
|
|
},
|
|
<"ULong">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 96
|
|
},
|
|
<"ULongLong">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 97
|
|
},
|
|
<"Float">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 98
|
|
},
|
|
<"Double">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 99
|
|
},
|
|
<"LongDouble">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 100
|
|
},
|
|
<"Float128">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 101
|
|
},
|
|
<"Float16">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 102
|
|
},
|
|
<"ShortAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 103
|
|
},
|
|
<"Accum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 104
|
|
},
|
|
<"LongAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 105
|
|
},
|
|
<"UShortAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 106
|
|
},
|
|
<"UAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 107
|
|
},
|
|
<"ULongAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 108
|
|
},
|
|
<"ShortFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 109
|
|
},
|
|
<"Fract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 110
|
|
},
|
|
<"LongFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 111
|
|
},
|
|
<"UShortFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 112
|
|
},
|
|
<"UFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 113
|
|
},
|
|
<"ULongFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 114
|
|
},
|
|
<"SatShortAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 115
|
|
},
|
|
<"SatAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 116
|
|
},
|
|
<"SatLongAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 117
|
|
},
|
|
<"SatUShortAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 118
|
|
},
|
|
<"SatUAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 119
|
|
},
|
|
<"SatULongAccum">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 120
|
|
},
|
|
<"SatShortFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 121
|
|
},
|
|
<"SatFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 122
|
|
},
|
|
<"SatLongFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 123
|
|
},
|
|
<"SatUShortFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 124
|
|
},
|
|
<"SatUFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 125
|
|
},
|
|
<"SatULongFract">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 126
|
|
},
|
|
<"Int128">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 127
|
|
},
|
|
<"UInt128">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 128
|
|
},
|
|
<"WChar_S">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 129
|
|
},
|
|
<"Char8">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 130
|
|
},
|
|
<"Char16">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 131
|
|
},
|
|
<"Char32">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 132
|
|
},
|
|
<"Dependent">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 133
|
|
},
|
|
<"Overload">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 134
|
|
},
|
|
<"BoundMember">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 135
|
|
},
|
|
<"PseudoObject">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 136
|
|
},
|
|
<"UnknownAny">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 137
|
|
},
|
|
<"ARCUnbridgedCast">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 138
|
|
},
|
|
<"BuiltinFn">
|
|
)>,
|
|
<"ComplexType" : (
|
|
{
|
|
"pointer" : 139
|
|
}
|
|
)>,
|
|
<"ComplexType" : (
|
|
{
|
|
"pointer" : 140
|
|
}
|
|
)>,
|
|
<"ComplexType" : (
|
|
{
|
|
"pointer" : 141
|
|
}
|
|
)>,
|
|
<"ComplexType" : (
|
|
{
|
|
"pointer" : 142
|
|
}
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 143
|
|
},
|
|
<"ObjCId">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 144
|
|
},
|
|
<"ObjCClass">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 145
|
|
},
|
|
<"ObjCSel">
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 146
|
|
},
|
|
{
|
|
"type_ptr" : 85
|
|
}
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 147
|
|
},
|
|
<"NullPtr">
|
|
)>,
|
|
<"BuiltinType" : (
|
|
{
|
|
"pointer" : 148
|
|
},
|
|
<"Half">
|
|
)>,
|
|
<"RecordType" : (
|
|
{
|
|
"pointer" : 149
|
|
},
|
|
150
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 151
|
|
},
|
|
{
|
|
"type_ptr" : 38,
|
|
"is_const" : true
|
|
}
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 152
|
|
},
|
|
{
|
|
"type_ptr" : 87,
|
|
"is_const" : true
|
|
}
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 153
|
|
},
|
|
{
|
|
"type_ptr" : 87
|
|
}
|
|
)>,
|
|
<"RecordType" : (
|
|
{
|
|
"pointer" : 154
|
|
},
|
|
155
|
|
)>,
|
|
<"ConstantArrayType" : (
|
|
{
|
|
"pointer" : 156
|
|
},
|
|
{
|
|
"element_type" : {
|
|
"type_ptr" : 154
|
|
},
|
|
"stride" : 24
|
|
},
|
|
1
|
|
)>,
|
|
<"TemplateTypeParmType" : (
|
|
{
|
|
"pointer" : 157
|
|
}
|
|
)>,
|
|
<"TemplateTypeParmType" : (
|
|
{
|
|
"pointer" : 158
|
|
}
|
|
)>,
|
|
<"TemplateSpecializationType" : (
|
|
{
|
|
"pointer" : 159
|
|
}
|
|
)>,
|
|
<"TemplateSpecializationType" : (
|
|
{
|
|
"pointer" : 160
|
|
}
|
|
)>,
|
|
<"InjectedClassNameType" : (
|
|
{
|
|
"pointer" : 161
|
|
}
|
|
)>,
|
|
<"TemplateTypeParmType" : (
|
|
{
|
|
"pointer" : 32
|
|
}
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 33
|
|
},
|
|
{
|
|
"type_ptr" : 157
|
|
}
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 162
|
|
},
|
|
{
|
|
"type_ptr" : 32
|
|
}
|
|
)>,
|
|
<"TemplateSpecializationType" : (
|
|
{
|
|
"pointer" : 163
|
|
}
|
|
)>,
|
|
<"TemplateSpecializationType" : (
|
|
{
|
|
"pointer" : 164
|
|
}
|
|
)>,
|
|
<"InjectedClassNameType" : (
|
|
{
|
|
"pointer" : 29
|
|
}
|
|
)>,
|
|
<"TemplateSpecializationType" : (
|
|
{
|
|
"pointer" : 165
|
|
}
|
|
)>,
|
|
<"RecordType" : (
|
|
{
|
|
"pointer" : 35
|
|
},
|
|
34
|
|
)>,
|
|
<"TemplateSpecializationType" : (
|
|
{
|
|
"pointer" : 166,
|
|
"desugared_type" : 35
|
|
}
|
|
)>,
|
|
<"TemplateSpecializationType" : (
|
|
{
|
|
"pointer" : 69,
|
|
"desugared_type" : 35
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 167
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 35
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 67
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 69
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"TemplateSpecializationType" : (
|
|
{
|
|
"pointer" : 168,
|
|
"desugared_type" : 35
|
|
}
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 27
|
|
},
|
|
{
|
|
"type_ptr" : 35
|
|
}
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 169
|
|
},
|
|
{
|
|
"type_ptr" : 168
|
|
}
|
|
)>,
|
|
<"RecordType" : (
|
|
{
|
|
"pointer" : 10
|
|
},
|
|
9
|
|
)>,
|
|
<"TemplateSpecializationType" : (
|
|
{
|
|
"pointer" : 73,
|
|
"desugared_type" : 10
|
|
}
|
|
)>,
|
|
<"SubstTemplateTypeParmType" : (
|
|
{
|
|
"pointer" : 13,
|
|
"desugared_type" : 35
|
|
}
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 170
|
|
},
|
|
{
|
|
"type_ptr" : 13
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 171
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 172
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 173
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 41
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"LValueReferenceType" : (
|
|
{
|
|
"pointer" : 22
|
|
},
|
|
{
|
|
"type_ptr" : 10,
|
|
"is_const" : true
|
|
}
|
|
)>,
|
|
<"LValueReferenceType" : (
|
|
{
|
|
"pointer" : 45
|
|
},
|
|
{
|
|
"type_ptr" : 35,
|
|
"is_const" : true
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 174
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 45
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 43
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 45
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"RValueReferenceType" : (
|
|
{
|
|
"pointer" : 49
|
|
},
|
|
{
|
|
"type_ptr" : 35
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 175
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 49
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 47
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 49
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 176
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 22
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 20
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 22
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"RValueReferenceType" : (
|
|
{
|
|
"pointer" : 26
|
|
},
|
|
{
|
|
"type_ptr" : 10
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 177
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 26
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 24
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 26
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 15
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 85
|
|
}
|
|
},
|
|
{
|
|
}
|
|
)>,
|
|
<"LValueReferenceType" : (
|
|
{
|
|
"pointer" : 178
|
|
},
|
|
{
|
|
"type_ptr" : 35
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 179
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 178
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 45
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 180
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 178
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 45
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 181
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 178
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 49
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 64
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 178
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 49
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"FunctionProtoType" : (
|
|
{
|
|
"pointer" : 51
|
|
},
|
|
{
|
|
"return_type" : {
|
|
"type_ptr" : 178
|
|
}
|
|
},
|
|
{
|
|
"params_type" : [
|
|
{
|
|
"type_ptr" : 45
|
|
}
|
|
]
|
|
}
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 182
|
|
},
|
|
{
|
|
"type_ptr" : 179
|
|
}
|
|
)>,
|
|
<"PointerType" : (
|
|
{
|
|
"pointer" : 78
|
|
},
|
|
{
|
|
"type_ptr" : 51
|
|
}
|
|
)>,
|
|
<"ObjCObjectType" : (
|
|
{
|
|
"pointer" : 183
|
|
},
|
|
{
|
|
"base_type" : 143
|
|
}
|
|
)>,
|
|
<"ObjCObjectPointerType" : (
|
|
{
|
|
"pointer" : 184
|
|
},
|
|
{
|
|
"type_ptr" : 183
|
|
}
|
|
)>,
|
|
<"TypedefType" : (
|
|
{
|
|
"pointer" : 185,
|
|
"desugared_type" : 184
|
|
},
|
|
{
|
|
"child_type" : {
|
|
"type_ptr" : 184
|
|
},
|
|
"decl_ptr" : 186
|
|
}
|
|
)>,
|
|
<"TypedefType" : (
|
|
{
|
|
"pointer" : 84,
|
|
"desugared_type" : 184
|
|
},
|
|
{
|
|
"child_type" : {
|
|
"type_ptr" : 185
|
|
},
|
|
"decl_ptr" : 83
|
|
}
|
|
)>,
|
|
<"NoneType" : (
|
|
{
|
|
"pointer" : 0
|
|
}
|
|
)>
|
|
]
|
|
}
|
|
)>
|