// RUN: %clang_cc1 -triple x86_64-pc-win32 -ast-dump=json %s | FileCheck %s #define _INLINE_VAR inline #define _NODISCARD [[nodiscard]] template struct integral_constant { static constexpr _Ty value = _Val; using value_type = _Ty; using type = integral_constant; constexpr operator value_type() const noexcept { return value; } _NODISCARD constexpr value_type operator()() const noexcept { return value; } }; template using bool_constant = integral_constant; template _INLINE_VAR constexpr bool is_const_v = false; // determine whether type argument is const qualified template _INLINE_VAR constexpr bool is_const_v = true; template _INLINE_VAR constexpr bool is_reference_v = false; // determine whether type argument is a reference template _INLINE_VAR constexpr bool is_reference_v<_Ty&> = true; template _INLINE_VAR constexpr bool is_reference_v<_Ty&&> = true; template struct is_reference : bool_constant> {}; template _INLINE_VAR constexpr bool is_function_v = // only function types and reference types can't be const qualified !is_const_v && !is_reference_v<_Ty>; template struct is_function : bool_constant> {}; template struct _Is_member_object_pointer { static constexpr bool value = false; }; template struct _Is_member_object_pointer<_Ty1 _Ty2::*> { static constexpr bool value = !is_function_v<_Ty1>; using _Class_type = _Ty2; }; template _INLINE_VAR constexpr bool is_member_object_pointer_v = __is_member_object_pointer(_Ty); template struct is_member_object_pointer : bool_constant> {}; template _INLINE_VAR constexpr bool is_member_pointer_v = __is_member_pointer(_Ty); int main() { return 0; } // NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py // CHECK-NOT: {{^}}Dumping // CHECK: "kind": "TranslationUnitDecl", // CHECK-NEXT: "loc": {}, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": {}, // CHECK-NEXT: "end": {} // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypedefDecl", // CHECK-NEXT: "loc": {}, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": {}, // CHECK-NEXT: "end": {} // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "__int128_t", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "__int128" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "BuiltinType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "__int128" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypedefDecl", // CHECK-NEXT: "loc": {}, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": {}, // CHECK-NEXT: "end": {} // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "__uint128_t", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "unsigned __int128" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "BuiltinType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "unsigned __int128" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypedefDecl", // CHECK-NEXT: "loc": {}, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": {}, // CHECK-NEXT: "end": {} // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "__NSConstantString", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "__NSConstantString_tag" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "RecordType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "__NSConstantString_tag" // CHECK-NEXT: }, // CHECK-NEXT: "decl": { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "name": "__NSConstantString_tag" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypedefDecl", // CHECK-NEXT: "loc": {}, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": {}, // CHECK-NEXT: "end": {} // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "__builtin_ms_va_list", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "char *" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "PointerType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "char *" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "BuiltinType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "char" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypedefDecl", // CHECK-NEXT: "loc": {}, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": {}, // CHECK-NEXT: "end": {} // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "__builtin_va_list", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "char *" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "PointerType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "char *" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "BuiltinType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "char" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ClassTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 176, // CHECK-NEXT: "file": "{{.*}}", // CHECK-NEXT: "line": 7, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 17 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 138, // CHECK-NEXT: "line": 6, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 483, // CHECK-NEXT: "line": 20, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "integral_constant", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 154, // CHECK-NEXT: "line": 6, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 148, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 154, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "NonTypeTemplateParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 163, // CHECK-NEXT: "col": 26, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 159, // CHECK-NEXT: "col": 22, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 163, // CHECK-NEXT: "col": 26, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Val", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "_Ty" // CHECK-NEXT: }, // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 1 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 176, // CHECK-NEXT: "line": 7, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 17 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 169, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 483, // CHECK-NEXT: "line": 20, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "integral_constant", // CHECK-NEXT: "tagUsed": "struct", // CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { // CHECK-NEXT: "canConstDefaultInit": true, // CHECK-NEXT: "copyAssign": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { // CHECK-NEXT: "defaultedIsConstexpr": true, // CHECK-NEXT: "exists": true, // CHECK-NEXT: "isConstexpr": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "dtor": { // CHECK-NEXT: "irrelevant": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, // CHECK-NEXT: "isAggregate": true, // CHECK-NEXT: "isEmpty": true, // CHECK-NEXT: "isLiteral": true, // CHECK-NEXT: "isPOD": true, // CHECK-NEXT: "isStandardLayout": true, // CHECK-NEXT: "isTrivial": true, // CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 176, // CHECK-NEXT: "line": 7, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 17 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 169, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 176, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 17 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "integral_constant", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 221, // CHECK-NEXT: "line": 8, // CHECK-NEXT: "col": 26, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 200, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 229, // CHECK-NEXT: "col": 34, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "value", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const _Ty" // CHECK-NEXT: }, // CHECK-NEXT: "storageClass": "static", // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "DeclRefExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 229, // CHECK-NEXT: "col": 34, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 229, // CHECK-NEXT: "col": 34, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "_Ty" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "referencedDecl": { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "NonTypeTemplateParmDecl", // CHECK-NEXT: "name": "_Val", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "_Ty" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypeAliasDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 246, // CHECK-NEXT: "line": 10, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 10 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 240, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 259, // CHECK-NEXT: "col": 24, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "value_type", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "_Ty" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "_Ty" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0, // CHECK-NEXT: "decl": { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "name": "_Ty" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypeAliasDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 274, // CHECK-NEXT: "line": 11, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 268, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 287, // CHECK-NEXT: "col": 24, // CHECK-NEXT: "tokLen": 17 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "type", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "integral_constant<_Ty, _Val>" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ElaboratedType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "integral_constant<_Ty, _Val>" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "InjectedClassNameType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "integral_constant<_Ty, _Val>" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "decl": { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "name": "integral_constant" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXConversionDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 321, // CHECK-NEXT: "line": 13, // CHECK-NEXT: "col": 15, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 311, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 9 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 386, // CHECK-NEXT: "line": 15, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "operator type-parameter-0-0", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "value_type () const noexcept" // CHECK-NEXT: }, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CompoundStmt", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 358, // CHECK-NEXT: "line": 13, // CHECK-NEXT: "col": 52, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 386, // CHECK-NEXT: "line": 15, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ReturnStmt", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 368, // CHECK-NEXT: "line": 14, // CHECK-NEXT: "col": 9, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 375, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "DeclRefExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 375, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 375, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const _Ty" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "lvalue", // CHECK-NEXT: "referencedDecl": { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarDecl", // CHECK-NEXT: "name": "value", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const _Ty" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXMethodDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 425, // CHECK-NEXT: "line": 17, // CHECK-NEXT: "col": 37, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 404, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 9 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 481, // CHECK-NEXT: "line": 19, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "operator()", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "value_type () const noexcept" // CHECK-NEXT: }, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CompoundStmt", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 453, // CHECK-NEXT: "line": 17, // CHECK-NEXT: "col": 65, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 481, // CHECK-NEXT: "line": 19, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ReturnStmt", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 463, // CHECK-NEXT: "line": 18, // CHECK-NEXT: "col": 9, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 470, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "DeclRefExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 470, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 470, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const _Ty" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "lvalue", // CHECK-NEXT: "referencedDecl": { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarDecl", // CHECK-NEXT: "name": "value", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const _Ty" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "WarnUnusedResultAttr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "spellingLoc": { // CHECK-NEXT: "offset": 125, // CHECK-NEXT: "line": 4, // CHECK-NEXT: "col": 22, // CHECK-NEXT: "tokLen": 9 // CHECK-NEXT: }, // CHECK-NEXT: "expansionLoc": { // CHECK-NEXT: "offset": 393, // CHECK-NEXT: "line": 17, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 10 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "spellingLoc": { // CHECK-NEXT: "offset": 125, // CHECK-NEXT: "line": 4, // CHECK-NEXT: "col": 22, // CHECK-NEXT: "tokLen": 9 // CHECK-NEXT: }, // CHECK-NEXT: "expansionLoc": { // CHECK-NEXT: "offset": 393, // CHECK-NEXT: "line": 17, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 10 // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypeAliasTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 508, // CHECK-NEXT: "line": 23, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 487, // CHECK-NEXT: "line": 22, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 558, // CHECK-NEXT: "line": 23, // CHECK-NEXT: "col": 51, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "bool_constant", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "NonTypeTemplateParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 502, // CHECK-NEXT: "line": 22, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 497, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 502, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Val", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypeAliasDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 514, // CHECK-NEXT: "line": 23, // CHECK-NEXT: "col": 7, // CHECK-NEXT: "tokLen": 13 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 508, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 558, // CHECK-NEXT: "col": 51, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "bool_constant", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "integral_constant" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ElaboratedType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "integral_constant" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateSpecializationType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "integral_constant" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "templateName": "integral_constant", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "kind": "TemplateArgument", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "BuiltinType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "kind": "TemplateArgument", // CHECK-NEXT: "isExpr": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "DeclRefExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 554, // CHECK-NEXT: "col": 47, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 554, // CHECK-NEXT: "col": 47, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "referencedDecl": { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "NonTypeTemplateParmDecl", // CHECK-NEXT: "name": "_Val", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 606, // CHECK-NEXT: "line": 26, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 10 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 562, // CHECK-NEXT: "line": 25, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 619, // CHECK-NEXT: "line": 26, // CHECK-NEXT: "col": 41, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_const_v", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 577, // CHECK-NEXT: "line": 25, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 572, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 572, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 606, // CHECK-NEXT: "line": 26, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 10 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "spellingLoc": { // CHECK-NEXT: "offset": 97, // CHECK-NEXT: "line": 3, // CHECK-NEXT: "col": 21, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "expansionLoc": { // CHECK-NEXT: "offset": 579, // CHECK-NEXT: "line": 26, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 11 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 619, // CHECK-NEXT: "col": 41, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_const_v", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const bool" // CHECK-NEXT: }, // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXBoolLiteralExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 619, // CHECK-NEXT: "col": 41, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 619, // CHECK-NEXT: "col": 41, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "value": false // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplatePartialSpecializationDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 729, // CHECK-NEXT: "line": 29, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 10 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 681, // CHECK-NEXT: "line": 28, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 753, // CHECK-NEXT: "line": 29, // CHECK-NEXT: "col": 52, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_const_v", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const bool" // CHECK-NEXT: }, // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 697, // CHECK-NEXT: "line": 28, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 691, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 697, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "kind": "TemplateArgument", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const type-parameter-0-0" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "QualType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const type-parameter-0-0" // CHECK-NEXT: }, // CHECK-NEXT: "qualifiers": "const", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-0" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0, // CHECK-NEXT: "decl": { // CHECK-NEXT: "id": "0x0" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXBoolLiteralExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 753, // CHECK-NEXT: "line": 29, // CHECK-NEXT: "col": 52, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 753, // CHECK-NEXT: "col": 52, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "value": true // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 804, // CHECK-NEXT: "line": 32, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 14 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 760, // CHECK-NEXT: "line": 31, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 821, // CHECK-NEXT: "line": 32, // CHECK-NEXT: "col": 45, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_reference_v", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 775, // CHECK-NEXT: "line": 31, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 770, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 770, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 804, // CHECK-NEXT: "line": 32, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 14 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "spellingLoc": { // CHECK-NEXT: "offset": 97, // CHECK-NEXT: "line": 3, // CHECK-NEXT: "col": 21, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "expansionLoc": { // CHECK-NEXT: "offset": 777, // CHECK-NEXT: "line": 32, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 11 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 821, // CHECK-NEXT: "col": 45, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_reference_v", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const bool" // CHECK-NEXT: }, // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXBoolLiteralExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 821, // CHECK-NEXT: "col": 45, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 821, // CHECK-NEXT: "col": 45, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "value": false // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplatePartialSpecializationDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 927, // CHECK-NEXT: "line": 35, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 14 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 879, // CHECK-NEXT: "line": 34, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 950, // CHECK-NEXT: "line": 35, // CHECK-NEXT: "col": 51, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_reference_v", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const bool" // CHECK-NEXT: }, // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 895, // CHECK-NEXT: "line": 34, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 889, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 895, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "kind": "TemplateArgument", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-0 &" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "LValueReferenceType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-0 &" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-0" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0, // CHECK-NEXT: "decl": { // CHECK-NEXT: "id": "0x0" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXBoolLiteralExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 950, // CHECK-NEXT: "line": 35, // CHECK-NEXT: "col": 51, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 950, // CHECK-NEXT: "col": 51, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "value": true // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplatePartialSpecializationDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1005, // CHECK-NEXT: "line": 38, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 14 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 957, // CHECK-NEXT: "line": 37, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1029, // CHECK-NEXT: "line": 38, // CHECK-NEXT: "col": 52, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_reference_v", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const bool" // CHECK-NEXT: }, // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 973, // CHECK-NEXT: "line": 37, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 967, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 973, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "kind": "TemplateArgument", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-0 &&" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "RValueReferenceType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-0 &&" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-0" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0, // CHECK-NEXT: "decl": { // CHECK-NEXT: "id": "0x0" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXBoolLiteralExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1029, // CHECK-NEXT: "line": 38, // CHECK-NEXT: "col": 52, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1029, // CHECK-NEXT: "col": 52, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "value": true // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ClassTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1064, // CHECK-NEXT: "line": 41, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 12 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1036, // CHECK-NEXT: "line": 40, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1115, // CHECK-NEXT: "line": 41, // CHECK-NEXT: "col": 59, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_reference", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1052, // CHECK-NEXT: "line": 40, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1046, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1052, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1064, // CHECK-NEXT: "line": 41, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 12 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1057, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1115, // CHECK-NEXT: "col": 59, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_reference", // CHECK-NEXT: "tagUsed": "struct", // CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { // CHECK-NEXT: "canConstDefaultInit": true, // CHECK-NEXT: "copyAssign": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { // CHECK-NEXT: "defaultedIsConstexpr": true, // CHECK-NEXT: "exists": true, // CHECK-NEXT: "isConstexpr": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "dtor": { // CHECK-NEXT: "irrelevant": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, // CHECK-NEXT: "isAggregate": true, // CHECK-NEXT: "isEmpty": true, // CHECK-NEXT: "isLiteral": true, // CHECK-NEXT: "isStandardLayout": true, // CHECK-NEXT: "isTrivial": true, // CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "bases": [ // CHECK-NEXT: { // CHECK-NEXT: "access": "public", // CHECK-NEXT: "type": { // CHECK-NEXT: "desugaredQualType": "integral_constant>", // CHECK-NEXT: "qualType": "bool_constant>" // CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "none" // CHECK-NEXT: } // CHECK-NEXT: ], // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1064, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 12 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1057, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1064, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 12 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "is_reference", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1167, // CHECK-NEXT: "line": 44, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 13 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1119, // CHECK-NEXT: "line": 43, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1300, // CHECK-NEXT: "line": 45, // CHECK-NEXT: "col": 50, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_function_v", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1135, // CHECK-NEXT: "line": 43, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1129, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1135, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1167, // CHECK-NEXT: "line": 44, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 13 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "spellingLoc": { // CHECK-NEXT: "offset": 97, // CHECK-NEXT: "line": 3, // CHECK-NEXT: "col": 21, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "expansionLoc": { // CHECK-NEXT: "offset": 1140, // CHECK-NEXT: "line": 44, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 11 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1300, // CHECK-NEXT: "line": 45, // CHECK-NEXT: "col": 50, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_function_v", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const bool" // CHECK-NEXT: }, // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "BinaryOperator", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1255, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1300, // CHECK-NEXT: "col": 50, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "opcode": "&&", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "UnaryOperator", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1255, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1276, // CHECK-NEXT: "col": 26, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "isPostfix": false, // CHECK-NEXT: "opcode": "!", // CHECK-NEXT: "canOverflow": false, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "UnresolvedLookupExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1256, // CHECK-NEXT: "col": 6, // CHECK-NEXT: "tokLen": 10 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1276, // CHECK-NEXT: "col": 26, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "lvalue", // CHECK-NEXT: "usesADL": false, // CHECK-NEXT: "name": "is_const_v", // CHECK-NEXT: "lookups": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplateDecl", // CHECK-NEXT: "name": "is_const_v" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "UnaryOperator", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1281, // CHECK-NEXT: "col": 31, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1300, // CHECK-NEXT: "col": 50, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "isPostfix": false, // CHECK-NEXT: "opcode": "!", // CHECK-NEXT: "canOverflow": false, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "UnresolvedLookupExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1282, // CHECK-NEXT: "col": 32, // CHECK-NEXT: "tokLen": 14 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1300, // CHECK-NEXT: "col": 50, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "lvalue", // CHECK-NEXT: "usesADL": false, // CHECK-NEXT: "name": "is_reference_v", // CHECK-NEXT: "lookups": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplateDecl", // CHECK-NEXT: "name": "is_reference_v" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ClassTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1332, // CHECK-NEXT: "line": 48, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 11 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1304, // CHECK-NEXT: "line": 47, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1381, // CHECK-NEXT: "line": 48, // CHECK-NEXT: "col": 57, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_function", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1320, // CHECK-NEXT: "line": 47, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1314, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1320, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1332, // CHECK-NEXT: "line": 48, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 11 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1325, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1381, // CHECK-NEXT: "col": 57, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_function", // CHECK-NEXT: "tagUsed": "struct", // CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { // CHECK-NEXT: "canConstDefaultInit": true, // CHECK-NEXT: "copyAssign": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { // CHECK-NEXT: "defaultedIsConstexpr": true, // CHECK-NEXT: "exists": true, // CHECK-NEXT: "isConstexpr": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "dtor": { // CHECK-NEXT: "irrelevant": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, // CHECK-NEXT: "isAggregate": true, // CHECK-NEXT: "isEmpty": true, // CHECK-NEXT: "isLiteral": true, // CHECK-NEXT: "isStandardLayout": true, // CHECK-NEXT: "isTrivial": true, // CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "bases": [ // CHECK-NEXT: { // CHECK-NEXT: "access": "public", // CHECK-NEXT: "type": { // CHECK-NEXT: "desugaredQualType": "integral_constant>", // CHECK-NEXT: "qualType": "bool_constant>" // CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "none" // CHECK-NEXT: } // CHECK-NEXT: ], // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1332, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 11 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1325, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1332, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 11 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "is_function", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ClassTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1409, // CHECK-NEXT: "line": 51, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 25 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1385, // CHECK-NEXT: "line": 50, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1478, // CHECK-NEXT: "line": 53, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "_Is_member_object_pointer", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1400, // CHECK-NEXT: "line": 50, // CHECK-NEXT: "col": 16, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1395, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1395, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1409, // CHECK-NEXT: "line": 51, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 25 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1402, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1478, // CHECK-NEXT: "line": 53, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "_Is_member_object_pointer", // CHECK-NEXT: "tagUsed": "struct", // CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { // CHECK-NEXT: "canConstDefaultInit": true, // CHECK-NEXT: "copyAssign": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { // CHECK-NEXT: "defaultedIsConstexpr": true, // CHECK-NEXT: "exists": true, // CHECK-NEXT: "isConstexpr": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "dtor": { // CHECK-NEXT: "irrelevant": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, // CHECK-NEXT: "isAggregate": true, // CHECK-NEXT: "isEmpty": true, // CHECK-NEXT: "isLiteral": true, // CHECK-NEXT: "isPOD": true, // CHECK-NEXT: "isStandardLayout": true, // CHECK-NEXT: "isTrivial": true, // CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1409, // CHECK-NEXT: "line": 51, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 25 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1402, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1409, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 25 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "_Is_member_object_pointer", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1463, // CHECK-NEXT: "line": 52, // CHECK-NEXT: "col": 27, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1441, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1471, // CHECK-NEXT: "col": 35, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "value", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const bool" // CHECK-NEXT: }, // CHECK-NEXT: "storageClass": "static", // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXBoolLiteralExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1471, // CHECK-NEXT: "col": 35, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1471, // CHECK-NEXT: "col": 35, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "value": false // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ClassTemplatePartialSpecializationDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1523, // CHECK-NEXT: "line": 56, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 25 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1482, // CHECK-NEXT: "line": 55, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1661, // CHECK-NEXT: "line": 59, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "_Is_member_object_pointer", // CHECK-NEXT: "tagUsed": "struct", // CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { // CHECK-NEXT: "canConstDefaultInit": true, // CHECK-NEXT: "copyAssign": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { // CHECK-NEXT: "defaultedIsConstexpr": true, // CHECK-NEXT: "exists": true, // CHECK-NEXT: "isConstexpr": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "dtor": { // CHECK-NEXT: "irrelevant": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, // CHECK-NEXT: "isAggregate": true, // CHECK-NEXT: "isEmpty": true, // CHECK-NEXT: "isLiteral": true, // CHECK-NEXT: "isPOD": true, // CHECK-NEXT: "isStandardLayout": true, // CHECK-NEXT: "isTrivial": true, // CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "kind": "TemplateArgument", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-0 type-parameter-0-1::*" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "MemberPointerType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-0 type-parameter-0-1::*" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "isData": true, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-1" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 1, // CHECK-NEXT: "decl": { // CHECK-NEXT: "id": "0x0" // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "type-parameter-0-0" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0, // CHECK-NEXT: "decl": { // CHECK-NEXT: "id": "0x0" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1498, // CHECK-NEXT: "line": 55, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1492, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1498, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty1", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1510, // CHECK-NEXT: "col": 29, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1504, // CHECK-NEXT: "col": 23, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1510, // CHECK-NEXT: "col": 29, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty2", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 1 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1523, // CHECK-NEXT: "line": 56, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 25 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1516, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1523, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 25 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "_Is_member_object_pointer", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1591, // CHECK-NEXT: "line": 57, // CHECK-NEXT: "col": 27, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1569, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1618, // CHECK-NEXT: "col": 54, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "value", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const bool" // CHECK-NEXT: }, // CHECK-NEXT: "storageClass": "static", // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "UnaryOperator", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1599, // CHECK-NEXT: "col": 35, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1618, // CHECK-NEXT: "col": 54, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "isPostfix": false, // CHECK-NEXT: "opcode": "!", // CHECK-NEXT: "canOverflow": false, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "UnresolvedLookupExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1600, // CHECK-NEXT: "col": 36, // CHECK-NEXT: "tokLen": 13 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1618, // CHECK-NEXT: "col": 54, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "lvalue", // CHECK-NEXT: "usesADL": false, // CHECK-NEXT: "name": "is_function_v", // CHECK-NEXT: "lookups": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplateDecl", // CHECK-NEXT: "name": "is_function_v" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypeAliasDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1631, // CHECK-NEXT: "line": 58, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 11 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1625, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1655, // CHECK-NEXT: "col": 35, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "_Class_type", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "_Ty2" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmType", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "_Ty2" // CHECK-NEXT: }, // CHECK-NEXT: "isDependent": true, // CHECK-NEXT: "isInstantiationDependent": true, // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 1, // CHECK-NEXT: "decl": { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "name": "_Ty2" // CHECK-NEXT: } // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1713, // CHECK-NEXT: "line": 62, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 26 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1665, // CHECK-NEXT: "line": 61, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1772, // CHECK-NEXT: "line": 62, // CHECK-NEXT: "col": 87, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_member_object_pointer_v", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1681, // CHECK-NEXT: "line": 61, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1675, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1681, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1713, // CHECK-NEXT: "line": 62, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 26 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "spellingLoc": { // CHECK-NEXT: "offset": 97, // CHECK-NEXT: "line": 3, // CHECK-NEXT: "col": 21, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "expansionLoc": { // CHECK-NEXT: "offset": 1686, // CHECK-NEXT: "line": 62, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 11 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1772, // CHECK-NEXT: "col": 87, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_member_object_pointer_v", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const bool" // CHECK-NEXT: }, // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypeTraitExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1742, // CHECK-NEXT: "col": 57, // CHECK-NEXT: "tokLen": 26 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1772, // CHECK-NEXT: "col": 87, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ClassTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1804, // CHECK-NEXT: "line": 65, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 24 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1776, // CHECK-NEXT: "line": 64, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1879, // CHECK-NEXT: "line": 65, // CHECK-NEXT: "col": 83, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_member_object_pointer", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1792, // CHECK-NEXT: "line": 64, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1786, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1792, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1804, // CHECK-NEXT: "line": 65, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 24 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1797, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1879, // CHECK-NEXT: "col": 83, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_member_object_pointer", // CHECK-NEXT: "tagUsed": "struct", // CHECK-NEXT: "completeDefinition": true, // CHECK-NEXT: "definitionData": { // CHECK-NEXT: "canConstDefaultInit": true, // CHECK-NEXT: "copyAssign": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "copyCtor": { // CHECK-NEXT: "hasConstParam": true, // CHECK-NEXT: "implicitHasConstParam": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "defaultCtor": { // CHECK-NEXT: "defaultedIsConstexpr": true, // CHECK-NEXT: "exists": true, // CHECK-NEXT: "isConstexpr": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "dtor": { // CHECK-NEXT: "irrelevant": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true, // CHECK-NEXT: "isAggregate": true, // CHECK-NEXT: "isEmpty": true, // CHECK-NEXT: "isLiteral": true, // CHECK-NEXT: "isStandardLayout": true, // CHECK-NEXT: "isTrivial": true, // CHECK-NEXT: "isTriviallyCopyable": true, // CHECK-NEXT: "moveAssign": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: }, // CHECK-NEXT: "moveCtor": { // CHECK-NEXT: "exists": true, // CHECK-NEXT: "needsImplicit": true, // CHECK-NEXT: "simple": true, // CHECK-NEXT: "trivial": true // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "bases": [ // CHECK-NEXT: { // CHECK-NEXT: "access": "public", // CHECK-NEXT: "type": { // CHECK-NEXT: "desugaredQualType": "integral_constant>", // CHECK-NEXT: "qualType": "bool_constant>" // CHECK-NEXT: }, // CHECK-NEXT: "writtenAccess": "none" // CHECK-NEXT: } // CHECK-NEXT: ], // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CXXRecordDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1804, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 24 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1797, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1804, // CHECK-NEXT: "col": 8, // CHECK-NEXT: "tokLen": 24 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isImplicit": true, // CHECK-NEXT: "name": "is_member_object_pointer", // CHECK-NEXT: "tagUsed": "struct" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarTemplateDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1931, // CHECK-NEXT: "line": 68, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 19 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1883, // CHECK-NEXT: "line": 67, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 8 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1976, // CHECK-NEXT: "line": 68, // CHECK-NEXT: "col": 73, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_member_pointer_v", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TemplateTypeParmDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1899, // CHECK-NEXT: "line": 67, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1893, // CHECK-NEXT: "col": 11, // CHECK-NEXT: "tokLen": 5 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1899, // CHECK-NEXT: "col": 17, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "isReferenced": true, // CHECK-NEXT: "name": "_Ty", // CHECK-NEXT: "tagUsed": "class", // CHECK-NEXT: "depth": 0, // CHECK-NEXT: "index": 0 // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "VarDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1931, // CHECK-NEXT: "line": 68, // CHECK-NEXT: "col": 28, // CHECK-NEXT: "tokLen": 19 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "spellingLoc": { // CHECK-NEXT: "offset": 97, // CHECK-NEXT: "line": 3, // CHECK-NEXT: "col": 21, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "expansionLoc": { // CHECK-NEXT: "offset": 1904, // CHECK-NEXT: "line": 68, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 11 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1976, // CHECK-NEXT: "col": 73, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "is_member_pointer_v", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "const bool" // CHECK-NEXT: }, // CHECK-NEXT: "inline": true, // CHECK-NEXT: "constexpr": true, // CHECK-NEXT: "init": "c", // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "TypeTraitExpr", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1953, // CHECK-NEXT: "col": 50, // CHECK-NEXT: "tokLen": 19 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 1976, // CHECK-NEXT: "col": 73, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "bool" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }, // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "FunctionDecl", // CHECK-NEXT: "loc": { // CHECK-NEXT: "offset": 1984, // CHECK-NEXT: "line": 70, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 4 // CHECK-NEXT: }, // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1980, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 3 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 2007, // CHECK-NEXT: "line": 73, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "name": "main", // CHECK-NEXT: "mangledName": "main", // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int ()" // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "CompoundStmt", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1991, // CHECK-NEXT: "line": 71, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 2007, // CHECK-NEXT: "line": 73, // CHECK-NEXT: "col": 1, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "ReturnStmt", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 1997, // CHECK-NEXT: "line": 72, // CHECK-NEXT: "col": 5, // CHECK-NEXT: "tokLen": 6 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 2004, // CHECK-NEXT: "col": 12, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "inner": [ // CHECK-NEXT: { // CHECK-NEXT: "id": "0x{{.*}}", // CHECK-NEXT: "kind": "IntegerLiteral", // CHECK-NEXT: "range": { // CHECK-NEXT: "begin": { // CHECK-NEXT: "offset": 2004, // CHECK-NEXT: "col": 12, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: }, // CHECK-NEXT: "end": { // CHECK-NEXT: "offset": 2004, // CHECK-NEXT: "col": 12, // CHECK-NEXT: "tokLen": 1 // CHECK-NEXT: } // CHECK-NEXT: }, // CHECK-NEXT: "type": { // CHECK-NEXT: "qualType": "int" // CHECK-NEXT: }, // CHECK-NEXT: "valueCategory": "prvalue", // CHECK-NEXT: "value": "0" // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: }