| // RUN: %clang_cc1 -triple x86_64-pc-win32 -ast-dump=json %s | FileCheck %s |
| |
| #define _INLINE_VAR inline |
| #define _NODISCARD [[nodiscard]] |
| |
| template <class _Ty, _Ty _Val> |
| 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 <bool _Val> |
| using bool_constant = integral_constant<bool, _Val>; |
| |
| template <class> |
| _INLINE_VAR constexpr bool is_const_v = false; // determine whether type argument is const qualified |
| |
| template <class _Ty> |
| _INLINE_VAR constexpr bool is_const_v<const _Ty> = true; |
| |
| template <class> |
| _INLINE_VAR constexpr bool is_reference_v = false; // determine whether type argument is a reference |
| |
| template <class _Ty> |
| _INLINE_VAR constexpr bool is_reference_v<_Ty&> = true; |
| |
| template <class _Ty> |
| _INLINE_VAR constexpr bool is_reference_v<_Ty&&> = true; |
| |
| template <class _Ty> |
| struct is_reference : bool_constant<is_reference_v<_Ty>> {}; |
| |
| template <class _Ty> |
| _INLINE_VAR constexpr bool is_function_v = // only function types and reference types can't be const qualified |
| !is_const_v<const _Ty> && !is_reference_v<_Ty>; |
| |
| template <class _Ty> |
| struct is_function : bool_constant<is_function_v<_Ty>> {}; |
| |
| template <class> |
| struct _Is_member_object_pointer { |
| static constexpr bool value = false; |
| }; |
| |
| template <class _Ty1, class _Ty2> |
| struct _Is_member_object_pointer<_Ty1 _Ty2::*> { |
| static constexpr bool value = !is_function_v<_Ty1>; |
| using _Class_type = _Ty2; |
| }; |
| |
| template <class _Ty> |
| _INLINE_VAR constexpr bool is_member_object_pointer_v = __is_member_object_pointer(_Ty); |
| |
| template <class _Ty> |
| struct is_member_object_pointer : bool_constant<is_member_object_pointer_v<_Ty>> {}; |
| |
| template <class _Ty> |
| _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<bool, _Val>" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "ElaboratedType", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "integral_constant<bool, _Val>" |
| // 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<bool, _Val>" |
| // 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<bool, is_reference_v<_Ty>>", |
| // CHECK-NEXT: "qualType": "bool_constant<is_reference_v<_Ty>>" |
| // 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": "<dependent type>" |
| // 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": "<dependent type>" |
| // 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": "<dependent type>" |
| // 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: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "kind": "TemplateArgument", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "const _Ty" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "QualType", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "const _Ty" |
| // 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": "_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: } |
| // 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": "<dependent type>" |
| // 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": "<dependent type>" |
| // 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: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "kind": "TemplateArgument", |
| // 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: } |
| // 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<bool, is_function_v<_Ty>>", |
| // CHECK-NEXT: "qualType": "bool_constant<is_function_v<_Ty>>" |
| // 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": "0x0" |
| // 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": "<dependent type>" |
| // 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": "<dependent type>" |
| // 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: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "kind": "TemplateArgument", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "_Ty1" |
| // CHECK-NEXT: }, |
| // CHECK-NEXT: "inner": [ |
| // CHECK-NEXT: { |
| // CHECK-NEXT: "id": "0x{{.*}}", |
| // CHECK-NEXT: "kind": "TemplateTypeParmType", |
| // CHECK-NEXT: "type": { |
| // CHECK-NEXT: "qualType": "_Ty1" |
| // 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": "_Ty1" |
| // 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": "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: "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: } |
| // 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<bool, is_member_object_pointer_v<_Ty>>", |
| // CHECK-NEXT: "qualType": "bool_constant<is_member_object_pointer_v<_Ty>>" |
| // 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: "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: } |
| // 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: } |