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.

2833 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" : "5073671504388348295",
"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" : "8283222246682784723",
"is_cpp" : true,
"is_inline" : true,
"is_constexpr" : true,
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 21,
"source_range" : (
{
"column" : 8
},
{
"column" : 8
}
)
},
{
"name" : "",
"qual_name" : [
""
]
},
{
"type_ptr" : 22
},
{
"parm_index_in_function" : 0
}
)>
]
},
{
}
)>,
<"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" : "6839343167991811455",
"is_cpp" : true,
"is_inline" : true,
"is_constexpr" : true,
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 25,
"source_range" : (
{
"column" : 8
},
{
"column" : 8
}
)
},
{
"name" : "",
"qual_name" : [
""
]
},
{
"type_ptr" : 26
},
{
"parm_index_in_function" : 0
}
)>
]
},
{
}
)>
],
{
},
<"TTK_Struct">,
{
"definition_ptr" : 9,
"is_complete_definition" : true
},
{
"is_pod" : true
},
"",
{
"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
},
{
},
"",
{
"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" : "12645234317802235044",
"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" : "14822900838502915635",
"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" : "8232226518557505494",
"is_cpp" : true,
"is_inline" : true,
"is_constexpr" : true,
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 44,
"source_range" : (
{
"column" : 8
},
{
"column" : 8
}
)
},
{
"name" : "",
"qual_name" : [
""
]
},
{
"type_ptr" : 45
},
{
"parm_index_in_function" : 0
}
)>
]
},
{
}
)>,
<"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" : "10012197224398183680",
"is_cpp" : true,
"is_inline" : true,
"is_constexpr" : true,
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 48,
"source_range" : (
{
"column" : 8
},
{
"column" : 8
}
)
},
{
"name" : "",
"qual_name" : [
""
]
},
{
"type_ptr" : 49
},
{
"parm_index_in_function" : 0
}
)>
]
},
{
}
)>,
<"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,
"is_constexpr" : 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">
}
)>
]
)>
]
)>
},
{
}
)>,
<"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,
"is_constexpr" : true,
"parameters" : [
<"ParmVarDecl" : (
{
"pointer" : 65,
"source_range" : (
{
"column" : 8
},
{
"column" : 8
}
)
},
{
"name" : "",
"qual_name" : [
""
]
},
{
"type_ptr" : 49
},
{
"parm_index_in_function" : 0
}
)>
]
},
{
}
)>
],
{
},
<"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
}
}
},
"",
{
"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">
)>,
<"BuiltinType" : (
{
"pointer" : 149
},
<"BFloat16">
)>,
<"RecordType" : (
{
"pointer" : 150
},
151
)>,
<"PointerType" : (
{
"pointer" : 152
},
{
"type_ptr" : 38,
"is_const" : true
}
)>,
<"PointerType" : (
{
"pointer" : 153
},
{
"type_ptr" : 87,
"is_const" : true
}
)>,
<"PointerType" : (
{
"pointer" : 154
},
{
"type_ptr" : 87
}
)>,
<"RecordType" : (
{
"pointer" : 155
},
156
)>,
<"ConstantArrayType" : (
{
"pointer" : 157
},
{
"element_type" : {
"type_ptr" : 155
},
"stride" : 24
},
1
)>,
<"TemplateTypeParmType" : (
{
"pointer" : 158
}
)>,
<"TemplateTypeParmType" : (
{
"pointer" : 159
}
)>,
<"TemplateSpecializationType" : (
{
"pointer" : 160
}
)>,
<"TemplateSpecializationType" : (
{
"pointer" : 161
}
)>,
<"InjectedClassNameType" : (
{
"pointer" : 162
}
)>,
<"TemplateTypeParmType" : (
{
"pointer" : 32
}
)>,
<"PointerType" : (
{
"pointer" : 33
},
{
"type_ptr" : 158
}
)>,
<"PointerType" : (
{
"pointer" : 163
},
{
"type_ptr" : 32
}
)>,
<"TemplateSpecializationType" : (
{
"pointer" : 164
}
)>,
<"TemplateSpecializationType" : (
{
"pointer" : 165
}
)>,
<"InjectedClassNameType" : (
{
"pointer" : 29
}
)>,
<"TemplateSpecializationType" : (
{
"pointer" : 166
}
)>,
<"RecordType" : (
{
"pointer" : 35
},
34
)>,
<"TemplateSpecializationType" : (
{
"pointer" : 167,
"desugared_type" : 35
}
)>,
<"TemplateSpecializationType" : (
{
"pointer" : 69,
"desugared_type" : 35
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 168
},
{
"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" : 169,
"desugared_type" : 35
}
)>,
<"PointerType" : (
{
"pointer" : 27
},
{
"type_ptr" : 35
}
)>,
<"PointerType" : (
{
"pointer" : 170
},
{
"type_ptr" : 169
}
)>,
<"RecordType" : (
{
"pointer" : 10
},
9
)>,
<"TemplateSpecializationType" : (
{
"pointer" : 73,
"desugared_type" : 10
}
)>,
<"SubstTemplateTypeParmType" : (
{
"pointer" : 13,
"desugared_type" : 35
}
)>,
<"PointerType" : (
{
"pointer" : 171
},
{
"type_ptr" : 13
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 172
},
{
"return_type" : {
"type_ptr" : 85
}
},
{
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 173
},
{
"return_type" : {
"type_ptr" : 85
}
},
{
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 174
},
{
"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" : 175
},
{
"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" : 176
},
{
"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" : 177
},
{
"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" : 178
},
{
"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" : 179
},
{
"type_ptr" : 35
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 180
},
{
"return_type" : {
"type_ptr" : 179
}
},
{
"params_type" : [
{
"type_ptr" : 45
}
]
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 181
},
{
"return_type" : {
"type_ptr" : 179
}
},
{
"params_type" : [
{
"type_ptr" : 45
}
]
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 182
},
{
"return_type" : {
"type_ptr" : 179
}
},
{
"params_type" : [
{
"type_ptr" : 49
}
]
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 64
},
{
"return_type" : {
"type_ptr" : 179
}
},
{
"params_type" : [
{
"type_ptr" : 49
}
]
}
)>,
<"FunctionProtoType" : (
{
"pointer" : 51
},
{
"return_type" : {
"type_ptr" : 179
}
},
{
"params_type" : [
{
"type_ptr" : 45
}
]
}
)>,
<"PointerType" : (
{
"pointer" : 183
},
{
"type_ptr" : 180
}
)>,
<"PointerType" : (
{
"pointer" : 78
},
{
"type_ptr" : 51
}
)>,
<"ObjCObjectType" : (
{
"pointer" : 184
},
{
"base_type" : 143
}
)>,
<"ObjCObjectPointerType" : (
{
"pointer" : 185
},
{
"type_ptr" : 184
}
)>,
<"TypedefType" : (
{
"pointer" : 186,
"desugared_type" : 185
},
{
"child_type" : {
"type_ptr" : 185
},
"decl_ptr" : 187
}
)>,
<"TypedefType" : (
{
"pointer" : 84,
"desugared_type" : 185
},
{
"child_type" : {
"type_ptr" : 186
},
"decl_ptr" : 83
}
)>,
<"NoneType" : (
{
"pointer" : 0
}
)>
]
}
)>