diff options
Diffstat (limited to 'test/Index/recursive-cxx-member-calls.cpp')
-rw-r--r-- | test/Index/recursive-cxx-member-calls.cpp | 770 |
1 files changed, 383 insertions, 387 deletions
diff --git a/test/Index/recursive-cxx-member-calls.cpp b/test/Index/recursive-cxx-member-calls.cpp index 65e6fd19e3..adaaae9cdd 100644 --- a/test/Index/recursive-cxx-member-calls.cpp +++ b/test/Index/recursive-cxx-member-calls.cpp @@ -438,11 +438,11 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Identifier: "size_t" [41:16 - 41:22] TypeRef=size_t:2:25 // CHECK-tokens: Identifier: "npos" [41:23 - 41:27] VarDecl=npos:41:23 // CHECK-tokens: Punctuation: "=" [41:28 - 41:29] VarDecl=npos:41:23 -// CHECK-tokens: Punctuation: "~" [41:30 - 41:31] UnexposedExpr= +// CHECK-tokens: Punctuation: "~" [41:30 - 41:31] UnaryOperator= // CHECK-tokens: Identifier: "size_t" [41:31 - 41:37] TypeRef=size_t:2:25 -// CHECK-tokens: Punctuation: "(" [41:37 - 41:38] UnexposedExpr= -// CHECK-tokens: Literal: "0" [41:38 - 41:39] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [41:39 - 41:40] UnexposedExpr= +// CHECK-tokens: Punctuation: "(" [41:37 - 41:38] CXXFunctionalCastExpr= +// CHECK-tokens: Literal: "0" [41:38 - 41:39] IntegerLiteral= +// CHECK-tokens: Punctuation: ")" [41:39 - 41:40] CXXFunctionalCastExpr // CHECK-tokens: Punctuation: ";" [41:40 - 41:41] ClassDecl=StringRef:38:7 (Definition) // CHECK-tokens: Keyword: "private" [42:1 - 42:8] CXXAccessSpecifier=:42:1 (Definition) // CHECK-tokens: Punctuation: ":" [42:8 - 42:9] CXXAccessSpecifier=:42:1 (Definition) @@ -464,17 +464,17 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Identifier: "size_t" [45:31 - 45:37] TypeRef=size_t:2:25 // CHECK-tokens: Identifier: "b" [45:38 - 45:39] ParmDecl=b:45:38 (Definition) // CHECK-tokens: Punctuation: ")" [45:39 - 45:40] CXXMethod=min:45:17 (Definition) (static) -// CHECK-tokens: Punctuation: "{" [45:41 - 45:42] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [45:43 - 45:49] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [45:41 - 45:42] CompoundStmt= +// CHECK-tokens: Keyword: "return" [45:43 - 45:49] ReturnStmt= // CHECK-tokens: Identifier: "a" [45:50 - 45:51] DeclRefExpr=a:45:28 -// CHECK-tokens: Punctuation: "<" [45:52 - 45:53] UnexposedExpr= +// CHECK-tokens: Punctuation: "<" [45:52 - 45:53] BinaryOperator= // CHECK-tokens: Identifier: "b" [45:54 - 45:55] DeclRefExpr=b:45:38 -// CHECK-tokens: Punctuation: "?" [45:56 - 45:57] UnexposedExpr= +// CHECK-tokens: Punctuation: "?" [45:56 - 45:57] ConditionalOperator= // CHECK-tokens: Identifier: "a" [45:58 - 45:59] DeclRefExpr=a:45:28 -// CHECK-tokens: Punctuation: ":" [45:60 - 45:61] UnexposedExpr= +// CHECK-tokens: Punctuation: ":" [45:60 - 45:61] ConditionalOperator // CHECK-tokens: Identifier: "b" [45:62 - 45:63] DeclRefExpr=b:45:38 -// CHECK-tokens: Punctuation: ";" [45:63 - 45:64] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [45:65 - 45:66] UnexposedStmt= +// CHECK-tokens: Punctuation: ";" [45:63 - 45:64] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [45:65 - 45:66] CompoundStmt= // CHECK-tokens: Keyword: "public" [46:1 - 46:7] CXXAccessSpecifier=:46:1 (Definition) // CHECK-tokens: Punctuation: ":" [46:7 - 46:8] CXXAccessSpecifier=:46:1 (Definition) // CHECK-tokens: Identifier: "StringRef" [47:3 - 47:12] CXXConstructor=StringRef:47:3 (Definition) @@ -483,15 +483,15 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: ":" [47:14 - 47:15] CXXConstructor=StringRef:47:3 (Definition) // CHECK-tokens: Identifier: "Data" [47:16 - 47:20] MemberRef=Data:43:15 // CHECK-tokens: Punctuation: "(" [47:20 - 47:21] CXXConstructor=StringRef:47:3 (Definition) -// CHECK-tokens: Literal: "0" [47:21 - 47:22] UnexposedExpr= +// CHECK-tokens: Literal: "0" [47:21 - 47:22] IntegerLiteral= // CHECK-tokens: Punctuation: ")" [47:22 - 47:23] CXXConstructor=StringRef:47:3 (Definition) // CHECK-tokens: Punctuation: "," [47:23 - 47:24] CXXConstructor=StringRef:47:3 (Definition) // CHECK-tokens: Identifier: "Length" [47:25 - 47:31] MemberRef=Length:44:10 // CHECK-tokens: Punctuation: "(" [47:31 - 47:32] CXXConstructor=StringRef:47:3 (Definition) -// CHECK-tokens: Literal: "0" [47:32 - 47:33] UnexposedExpr= +// CHECK-tokens: Literal: "0" [47:32 - 47:33] IntegerLiteral= // CHECK-tokens: Punctuation: ")" [47:33 - 47:34] CXXConstructor=StringRef:47:3 (Definition) -// CHECK-tokens: Punctuation: "{" [47:35 - 47:36] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [47:36 - 47:37] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [47:35 - 47:36] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [47:36 - 47:37] CompoundStmt= // CHECK-tokens: Identifier: "StringRef" [48:3 - 48:12] CXXConstructor=StringRef:48:3 (Definition) // CHECK-tokens: Punctuation: "(" [48:12 - 48:13] CXXConstructor=StringRef:48:3 (Definition) // CHECK-tokens: Keyword: "const" [48:13 - 48:18] CXXConstructor=StringRef:48:3 (Definition) @@ -512,8 +512,8 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Identifier: "Str" [48:63 - 48:66] DeclRefExpr=Str:48:25 // CHECK-tokens: Punctuation: ")" [48:66 - 48:67] CallExpr=magic_length:36:8 // CHECK-tokens: Punctuation: ")" [48:67 - 48:68] CXXConstructor=StringRef:48:3 (Definition) -// CHECK-tokens: Punctuation: "{" [48:69 - 48:70] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [48:70 - 48:71] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [48:69 - 48:70] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [48:70 - 48:71] CompoundStmt= // CHECK-tokens: Identifier: "StringRef" [49:3 - 49:12] CXXConstructor=StringRef:49:3 (Definition) // CHECK-tokens: Punctuation: "(" [49:12 - 49:13] CXXConstructor=StringRef:49:3 (Definition) // CHECK-tokens: Keyword: "const" [49:13 - 49:18] CXXConstructor=StringRef:49:3 (Definition) @@ -534,28 +534,28 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "(" [49:66 - 49:67] CXXConstructor=StringRef:49:3 (Definition) // CHECK-tokens: Identifier: "length" [49:67 - 49:73] DeclRefExpr=length:49:38 // CHECK-tokens: Punctuation: ")" [49:73 - 49:74] CXXConstructor=StringRef:49:3 (Definition) -// CHECK-tokens: Punctuation: "{" [49:75 - 49:76] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [49:76 - 49:77] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [49:75 - 49:76] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [49:76 - 49:77] CompoundStmt= // CHECK-tokens: Identifier: "iterator" [50:3 - 50:11] TypeRef=iterator:40:23 // CHECK-tokens: Identifier: "end" [50:12 - 50:15] CXXMethod=end:50:12 (Definition) // CHECK-tokens: Punctuation: "(" [50:15 - 50:16] CXXMethod=end:50:12 (Definition) // CHECK-tokens: Punctuation: ")" [50:16 - 50:17] CXXMethod=end:50:12 (Definition) // CHECK-tokens: Keyword: "const" [50:18 - 50:23] CXXMethod=end:50:12 (Definition) -// CHECK-tokens: Punctuation: "{" [50:24 - 50:25] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [50:26 - 50:32] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [50:24 - 50:25] CompoundStmt= +// CHECK-tokens: Keyword: "return" [50:26 - 50:32] ReturnStmt= // CHECK-tokens: Identifier: "Data" [50:33 - 50:37] MemberRefExpr=Data:43:15 -// CHECK-tokens: Punctuation: ";" [50:37 - 50:38] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [50:39 - 50:40] UnexposedStmt= +// CHECK-tokens: Punctuation: ";" [50:37 - 50:38] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [50:39 - 50:40] CompoundStmt= // CHECK-tokens: Identifier: "size_t" [51:3 - 51:9] TypeRef=size_t:2:25 // CHECK-tokens: Identifier: "size" [51:10 - 51:14] CXXMethod=size:51:10 (Definition) // CHECK-tokens: Punctuation: "(" [51:14 - 51:15] CXXMethod=size:51:10 (Definition) // CHECK-tokens: Punctuation: ")" [51:15 - 51:16] CXXMethod=size:51:10 (Definition) // CHECK-tokens: Keyword: "const" [51:17 - 51:22] CXXMethod=size:51:10 (Definition) -// CHECK-tokens: Punctuation: "{" [51:23 - 51:24] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [51:25 - 51:31] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [51:23 - 51:24] CompoundStmt= +// CHECK-tokens: Keyword: "return" [51:25 - 51:31] ReturnStmt= // CHECK-tokens: Identifier: "Length" [51:32 - 51:38] MemberRefExpr=Length:44:10 -// CHECK-tokens: Punctuation: ";" [51:38 - 51:39] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [51:40 - 51:41] UnexposedStmt= +// CHECK-tokens: Punctuation: ";" [51:38 - 51:39] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [51:40 - 51:41] CompoundStmt= // CHECK-tokens: Keyword: "bool" [52:3 - 52:7] CXXMethod=startswith:52:8 (Definition) // CHECK-tokens: Identifier: "startswith" [52:8 - 52:18] CXXMethod=startswith:52:8 (Definition) // CHECK-tokens: Punctuation: "(" [52:18 - 52:19] CXXMethod=startswith:52:8 (Definition) @@ -563,14 +563,14 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Identifier: "Prefix" [52:29 - 52:35] ParmDecl=Prefix:52:29 (Definition) // CHECK-tokens: Punctuation: ")" [52:35 - 52:36] CXXMethod=startswith:52:8 (Definition) // CHECK-tokens: Keyword: "const" [52:37 - 52:42] CXXMethod=startswith:52:8 (Definition) -// CHECK-tokens: Punctuation: "{" [52:43 - 52:44] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [53:5 - 53:11] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [52:43 - 52:44] CompoundStmt= +// CHECK-tokens: Keyword: "return" [53:5 - 53:11] ReturnStmt= // CHECK-tokens: Identifier: "Length" [53:12 - 53:18] MemberRefExpr=Length:44:10 -// CHECK-tokens: Punctuation: ">=" [53:19 - 53:21] UnexposedExpr= +// CHECK-tokens: Punctuation: ">=" [53:19 - 53:21] BinaryOperator= // CHECK-tokens: Identifier: "Prefix" [53:22 - 53:28] DeclRefExpr=Prefix:52:29 // CHECK-tokens: Punctuation: "." [53:28 - 53:29] MemberRefExpr=Length:44:10 // CHECK-tokens: Identifier: "Length" [53:29 - 53:35] MemberRefExpr=Length:44:10 -// CHECK-tokens: Punctuation: "&&" [53:36 - 53:38] UnexposedExpr= +// CHECK-tokens: Punctuation: "&&" [53:36 - 53:38] BinaryOperator= // CHECK-tokens: Identifier: "memcmp" [54:11 - 54:17] DeclRefExpr=memcmp:7:7 // CHECK-tokens: Punctuation: "(" [54:17 - 54:18] CallExpr=memcmp:7:7 // CHECK-tokens: Identifier: "Data" [54:18 - 54:22] MemberRefExpr=Data:43:15 @@ -583,10 +583,10 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "." [54:43 - 54:44] MemberRefExpr=Length:44:10 // CHECK-tokens: Identifier: "Length" [54:44 - 54:50] MemberRefExpr=Length:44:10 // CHECK-tokens: Punctuation: ")" [54:50 - 54:51] CallExpr=memcmp:7:7 -// CHECK-tokens: Punctuation: "==" [54:52 - 54:54] UnexposedExpr= -// CHECK-tokens: Literal: "0" [54:55 - 54:56] UnexposedExpr= -// CHECK-tokens: Punctuation: ";" [54:56 - 54:57] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [55:3 - 55:4] UnexposedStmt= +// CHECK-tokens: Punctuation: "==" [54:52 - 54:54] BinaryOperator= +// CHECK-tokens: Literal: "0" [54:55 - 54:56] IntegerLiteral= +// CHECK-tokens: Punctuation: ";" [54:56 - 54:57] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [55:3 - 55:4] CompoundStmt= // CHECK-tokens: Keyword: "bool" [56:3 - 56:7] CXXMethod=endswith:56:8 (Definition) // CHECK-tokens: Identifier: "endswith" [56:8 - 56:16] CXXMethod=endswith:56:8 (Definition) // CHECK-tokens: Punctuation: "(" [56:16 - 56:17] CXXMethod=endswith:56:8 (Definition) @@ -594,20 +594,20 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Identifier: "Suffix" [56:27 - 56:33] ParmDecl=Suffix:56:27 (Definition) // CHECK-tokens: Punctuation: ")" [56:33 - 56:34] CXXMethod=endswith:56:8 (Definition) // CHECK-tokens: Keyword: "const" [56:35 - 56:40] CXXMethod=endswith:56:8 (Definition) -// CHECK-tokens: Punctuation: "{" [56:41 - 56:42] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [57:5 - 57:11] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [56:41 - 56:42] CompoundStmt= +// CHECK-tokens: Keyword: "return" [57:5 - 57:11] ReturnStmt= // CHECK-tokens: Identifier: "Length" [57:12 - 57:18] MemberRefExpr=Length:44:10 -// CHECK-tokens: Punctuation: ">=" [57:19 - 57:21] UnexposedExpr= +// CHECK-tokens: Punctuation: ">=" [57:19 - 57:21] BinaryOperator= // CHECK-tokens: Identifier: "Suffix" [57:22 - 57:28] DeclRefExpr=Suffix:56:27 // CHECK-tokens: Punctuation: "." [57:28 - 57:29] MemberRefExpr=Length:44:10 // CHECK-tokens: Identifier: "Length" [57:29 - 57:35] MemberRefExpr=Length:44:10 -// CHECK-tokens: Punctuation: "&&" [57:36 - 57:38] UnexposedExpr= +// CHECK-tokens: Punctuation: "&&" [57:36 - 57:38] BinaryOperator= // CHECK-tokens: Identifier: "memcmp" [58:7 - 58:13] DeclRefExpr=memcmp:7:7 // CHECK-tokens: Punctuation: "(" [58:13 - 58:14] CallExpr=memcmp:7:7 // CHECK-tokens: Identifier: "end" [58:14 - 58:17] MemberRefExpr=end:50:12 // CHECK-tokens: Punctuation: "(" [58:17 - 58:18] CallExpr=end:50:12 // CHECK-tokens: Punctuation: ")" [58:18 - 58:19] CallExpr=end:50:12 -// CHECK-tokens: Punctuation: "-" [58:20 - 58:21] UnexposedExpr= +// CHECK-tokens: Punctuation: "-" [58:20 - 58:21] BinaryOperator= // CHECK-tokens: Identifier: "Suffix" [58:22 - 58:28] DeclRefExpr=Suffix:56:27 // CHECK-tokens: Punctuation: "." [58:28 - 58:29] MemberRefExpr=Length:44:10 // CHECK-tokens: Identifier: "Length" [58:29 - 58:35] MemberRefExpr=Length:44:10 @@ -620,10 +620,10 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "." [58:56 - 58:57] MemberRefExpr=Length:44:10 // CHECK-tokens: Identifier: "Length" [58:57 - 58:63] MemberRefExpr=Length:44:10 // CHECK-tokens: Punctuation: ")" [58:63 - 58:64] CallExpr=memcmp:7:7 -// CHECK-tokens: Punctuation: "==" [58:65 - 58:67] UnexposedExpr= -// CHECK-tokens: Literal: "0" [58:68 - 58:69] UnexposedExpr= -// CHECK-tokens: Punctuation: ";" [58:69 - 58:70] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [59:3 - 59:4] UnexposedStmt= +// CHECK-tokens: Punctuation: "==" [58:65 - 58:67] BinaryOperator= +// CHECK-tokens: Literal: "0" [58:68 - 58:69] IntegerLiteral= +// CHECK-tokens: Punctuation: ";" [58:69 - 58:70] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [59:3 - 59:4] CompoundStmt= // CHECK-tokens: Identifier: "StringRef" [60:3 - 60:12] TypeRef=class llvm::StringRef:38:7 // CHECK-tokens: Identifier: "substr" [60:13 - 60:19] CXXMethod=substr:60:13 (Definition) // CHECK-tokens: Punctuation: "(" [60:19 - 60:20] CXXMethod=substr:60:13 (Definition) @@ -636,12 +636,12 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Identifier: "npos" [60:45 - 60:49] DeclRefExpr=npos:41:23 // CHECK-tokens: Punctuation: ")" [60:49 - 60:50] CXXMethod=substr:60:13 (Definition) // CHECK-tokens: Keyword: "const" [60:51 - 60:56] CXXMethod=substr:60:13 (Definition) -// CHECK-tokens: Punctuation: "{" [60:57 - 60:58] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [61:5 - 61:11] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [60:57 - 60:58] CompoundStmt= +// CHECK-tokens: Keyword: "return" [61:5 - 61:11] ReturnStmt= // CHECK-tokens: Identifier: "StringRef" [61:12 - 61:21] TypeRef=class llvm::StringRef:38:7 // CHECK-tokens: Punctuation: "(" [61:21 - 61:22] CallExpr=StringRef:49:3 // CHECK-tokens: Identifier: "Data" [61:22 - 61:26] MemberRefExpr=Data:43:15 -// CHECK-tokens: Punctuation: "+" [61:27 - 61:28] UnexposedExpr= +// CHECK-tokens: Punctuation: "+" [61:27 - 61:28] BinaryOperator= // CHECK-tokens: Identifier: "Start" [61:29 - 61:34] DeclRefExpr=Start:60:27 // CHECK-tokens: Punctuation: "," [61:34 - 61:35] CallExpr=StringRef:49:3 // CHECK-tokens: Identifier: "min" [61:36 - 61:39] DeclRefExpr=min:45:17 @@ -649,12 +649,12 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Identifier: "N" [61:40 - 61:41] DeclRefExpr=N:60:41 // CHECK-tokens: Punctuation: "," [61:41 - 61:42] CallExpr=min:45:17 // CHECK-tokens: Identifier: "Length" [61:43 - 61:49] MemberRefExpr=Length:44:10 -// CHECK-tokens: Punctuation: "-" [61:50 - 61:51] UnexposedExpr= +// CHECK-tokens: Punctuation: "-" [61:50 - 61:51] BinaryOperator= // CHECK-tokens: Identifier: "Start" [61:52 - 61:57] DeclRefExpr=Start:60:27 // CHECK-tokens: Punctuation: ")" [61:57 - 61:58] CallExpr=min:45:17 // CHECK-tokens: Punctuation: ")" [61:58 - 61:59] CallExpr=StringRef:49:3 -// CHECK-tokens: Punctuation: ";" [61:59 - 61:60] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [62:3 - 62:4] UnexposedStmt= +// CHECK-tokens: Punctuation: ";" [61:59 - 61:60] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [62:3 - 62:4] CompoundStmt= // CHECK-tokens: Punctuation: "}" [63:1 - 63:2] ClassDecl=StringRef:38:7 (Definition) // CHECK-tokens: Punctuation: ";" [63:2 - 63:3] Namespace=llvm:37:11 (Definition) // CHECK-tokens: Punctuation: "}" [64:1 - 64:2] Namespace=llvm:37:11 (Definition) @@ -677,8 +677,8 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "(" [68:27 - 68:28] CXXMethod=getNameStart:68:15 (Definition) // CHECK-tokens: Punctuation: ")" [68:28 - 68:29] CXXMethod=getNameStart:68:15 (Definition) // CHECK-tokens: Keyword: "const" [68:30 - 68:35] CXXMethod=getNameStart:68:15 (Definition) -// CHECK-tokens: Punctuation: "{" [68:36 - 68:37] UnexposedStmt= -// CHECK-tokens: Keyword: "typedef" [69:5 - 69:12] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [68:36 - 68:37] CompoundStmt= +// CHECK-tokens: Keyword: "typedef" [69:5 - 69:12] DeclStmt= // CHECK-tokens: Identifier: "std" [69:13 - 69:16] NamespaceRef=std:3:11 // CHECK-tokens: Punctuation: "::" [69:16 - 69:18] TypedefDecl=actualtype:69:54 (Definition) // CHECK-tokens: Identifier: "pair" [69:18 - 69:22] TemplateRef=pair:4:44 @@ -690,27 +690,27 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "*" [69:52 - 69:53] TypedefDecl=actualtype:69:54 (Definition) // CHECK-tokens: Punctuation: ">" [69:53 - 69:54] TypedefDecl=actualtype:69:54 (Definition) // CHECK-tokens: Identifier: "actualtype" [69:54 - 69:64] TypedefDecl=actualtype:69:54 (Definition) -// CHECK-tokens: Punctuation: ";" [69:64 - 69:65] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [70:5 - 70:11] UnexposedStmt= -// CHECK-tokens: Punctuation: "(" [70:12 - 70:13] UnexposedExpr= -// CHECK-tokens: Punctuation: "(" [70:13 - 70:14] UnexposedExpr= -// CHECK-tokens: Keyword: "const" [70:14 - 70:19] UnexposedExpr= +// CHECK-tokens: Punctuation: ";" [69:64 - 69:65] DeclStmt= +// CHECK-tokens: Keyword: "return" [70:5 - 70:11] ReturnStmt= +// CHECK-tokens: Punctuation: "(" [70:12 - 70:13] ParenExpr= +// CHECK-tokens: Punctuation: "(" [70:13 - 70:14] CStyleCastExpr= +// CHECK-tokens: Keyword: "const" [70:14 - 70:19] CStyleCastExpr= // CHECK-tokens: Identifier: "actualtype" [70:20 - 70:30] TypeRef=actualtype:69:54 -// CHECK-tokens: Punctuation: "*" [70:31 - 70:32] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [70:32 - 70:33] UnexposedExpr= -// CHECK-tokens: Keyword: "this" [70:34 - 70:38] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [70:38 - 70:39] UnexposedExpr= +// CHECK-tokens: Punctuation: "*" [70:31 - 70:32] CStyleCastExpr= +// CHECK-tokens: Punctuation: ")" [70:32 - 70:33] CStyleCastExpr= +// CHECK-tokens: Keyword: "this" [70:34 - 70:38] CXXThisExpr= +// CHECK-tokens: Punctuation: ")" [70:38 - 70:39] ParenExpr= // CHECK-tokens: Punctuation: "->" [70:39 - 70:41] MemberRefExpr=second:4:55 // CHECK-tokens: Identifier: "second" [70:41 - 70:47] MemberRefExpr=second:4:55 -// CHECK-tokens: Punctuation: ";" [70:47 - 70:48] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [71:3 - 71:4] UnexposedStmt= +// CHECK-tokens: Punctuation: ";" [70:47 - 70:48] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [71:3 - 71:4] CompoundStmt= // CHECK-tokens: Keyword: "unsigned" [72:3 - 72:11] CXXMethod=getLength:72:12 (Definition) // CHECK-tokens: Identifier: "getLength" [72:12 - 72:21] CXXMethod=getLength:72:12 (Definition) // CHECK-tokens: Punctuation: "(" [72:21 - 72:22] CXXMethod=getLength:72:12 (Definition) // CHECK-tokens: Punctuation: ")" [72:22 - 72:23] CXXMethod=getLength:72:12 (Definition) // CHECK-tokens: Keyword: "const" [72:24 - 72:29] CXXMethod=getLength:72:12 (Definition) -// CHECK-tokens: Punctuation: "{" [72:30 - 72:31] UnexposedStmt= -// CHECK-tokens: Keyword: "typedef" [73:5 - 73:12] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [72:30 - 72:31] CompoundStmt= +// CHECK-tokens: Keyword: "typedef" [73:5 - 73:12] DeclStmt= // CHECK-tokens: Identifier: "std" [73:13 - 73:16] NamespaceRef=std:3:11 // CHECK-tokens: Punctuation: "::" [73:16 - 73:18] TypedefDecl=actualtype:73:54 (Definition) // CHECK-tokens: Identifier: "pair" [73:18 - 73:22] TemplateRef=pair:4:44 @@ -722,55 +722,55 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "*" [73:52 - 73:53] TypedefDecl=actualtype:73:54 (Definition) // CHECK-tokens: Punctuation: ">" [73:53 - 73:54] TypedefDecl=actualtype:73:54 (Definition) // CHECK-tokens: Identifier: "actualtype" [73:54 - 73:64] TypedefDecl=actualtype:73:54 (Definition) -// CHECK-tokens: Punctuation: ";" [73:64 - 73:65] UnexposedStmt= -// CHECK-tokens: Keyword: "const" [74:5 - 74:10] UnexposedStmt= +// CHECK-tokens: Punctuation: ";" [73:64 - 73:65] DeclStmt= +// CHECK-tokens: Keyword: "const" [74:5 - 74:10] DeclStmt= // CHECK-tokens: Keyword: "char" [74:11 - 74:15] VarDecl=p:74:17 (Definition) // CHECK-tokens: Punctuation: "*" [74:16 - 74:17] VarDecl=p:74:17 (Definition) // CHECK-tokens: Identifier: "p" [74:17 - 74:18] VarDecl=p:74:17 (Definition) // CHECK-tokens: Punctuation: "=" [74:19 - 74:20] VarDecl=p:74:17 (Definition) -// CHECK-tokens: Punctuation: "(" [74:21 - 74:22] UnexposedExpr= -// CHECK-tokens: Punctuation: "(" [74:22 - 74:23] UnexposedExpr= -// CHECK-tokens: Keyword: "const" [74:23 - 74:28] UnexposedExpr= +// CHECK-tokens: Punctuation: "(" [74:21 - 74:22] ParenExpr= +// CHECK-tokens: Punctuation: "(" [74:22 - 74:23] CStyleCastExpr= +// CHECK-tokens: Keyword: "const" [74:23 - 74:28] CStyleCastExpr= // CHECK-tokens: Identifier: "actualtype" [74:29 - 74:39] TypeRef=actualtype:73:54 -// CHECK-tokens: Punctuation: "*" [74:40 - 74:41] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [74:41 - 74:42] UnexposedExpr= -// CHECK-tokens: Keyword: "this" [74:43 - 74:47] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [74:47 - 74:48] UnexposedExpr= +// CHECK-tokens: Punctuation: "*" [74:40 - 74:41] CStyleCastExpr= +// CHECK-tokens: Punctuation: ")" [74:41 - 74:42] CStyleCastExpr= +// CHECK-tokens: Keyword: "this" [74:43 - 74:47] CXXThisExpr= +// CHECK-tokens: Punctuation: ")" [74:47 - 74:48] ParenExpr= // CHECK-tokens: Punctuation: "->" [74:48 - 74:50] MemberRefExpr=second:4:55 // CHECK-tokens: Identifier: "second" [74:50 - 74:56] MemberRefExpr=second:4:55 -// CHECK-tokens: Punctuation: "-" [74:57 - 74:58] UnexposedExpr= -// CHECK-tokens: Literal: "2" [74:59 - 74:60] UnexposedExpr= -// CHECK-tokens: Punctuation: ";" [74:60 - 74:61] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [75:5 - 75:11] UnexposedStmt= -// CHECK-tokens: Punctuation: "(" [75:12 - 75:13] UnexposedExpr= -// CHECK-tokens: Punctuation: "(" [75:13 - 75:14] UnexposedExpr= -// CHECK-tokens: Punctuation: "(" [75:14 - 75:15] UnexposedExpr= -// CHECK-tokens: Keyword: "unsigned" [75:15 - 75:23] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [75:23 - 75:24] UnexposedExpr= +// CHECK-tokens: Punctuation: "-" [74:57 - 74:58] BinaryOperator= +// CHECK-tokens: Literal: "2" [74:59 - 74:60] IntegerLiteral= +// CHECK-tokens: Punctuation: ";" [74:60 - 74:61] DeclStmt= +// CHECK-tokens: Keyword: "return" [75:5 - 75:11] ReturnStmt= +// CHECK-tokens: Punctuation: "(" [75:12 - 75:13] ParenExpr= +// CHECK-tokens: Punctuation: "(" [75:13 - 75:14] ParenExpr= +// CHECK-tokens: Punctuation: "(" [75:14 - 75:15] CStyleCastExpr= +// CHECK-tokens: Keyword: "unsigned" [75:15 - 75:23] CStyleCastExpr= +// CHECK-tokens: Punctuation: ")" [75:23 - 75:24] CStyleCastExpr= // CHECK-tokens: Identifier: "p" [75:25 - 75:26] DeclRefExpr=p:74:17 -// CHECK-tokens: Punctuation: "[" [75:26 - 75:27] UnexposedExpr= -// CHECK-tokens: Literal: "0" [75:27 - 75:28] UnexposedExpr= -// CHECK-tokens: Punctuation: "]" [75:28 - 75:29] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [75:29 - 75:30] UnexposedExpr= -// CHECK-tokens: Punctuation: "|" [75:31 - 75:32] UnexposedExpr= -// CHECK-tokens: Punctuation: "(" [75:33 - 75:34] UnexposedExpr= -// CHECK-tokens: Punctuation: "(" [75:34 - 75:35] UnexposedExpr= -// CHECK-tokens: Punctuation: "(" [75:35 - 75:36] UnexposedExpr= -// CHECK-tokens: Keyword: "unsigned" [75:36 - 75:44] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [75:44 - 75:45] UnexposedExpr= +// CHECK-tokens: Punctuation: "[" [75:26 - 75:27] ArraySubscriptExpr= +// CHECK-tokens: Literal: "0" [75:27 - 75:28] IntegerLiteral= +// CHECK-tokens: Punctuation: "]" [75:28 - 75:29] ArraySubscriptExpr= +// CHECK-tokens: Punctuation: ")" [75:29 - 75:30] ParenExpr= +// CHECK-tokens: Punctuation: "|" [75:31 - 75:32] BinaryOperator= +// CHECK-tokens: Punctuation: "(" [75:33 - 75:34] ParenExpr= +// CHECK-tokens: Punctuation: "(" [75:34 - 75:35] ParenExpr= +// CHECK-tokens: Punctuation: "(" [75:35 - 75:36] CStyleCastExpr= +// CHECK-tokens: Keyword: "unsigned" [75:36 - 75:44] CStyleCastExpr= +// CHECK-tokens: Punctuation: ")" [75:44 - 75:45] CStyleCastExpr= // CHECK-tokens: Identifier: "p" [75:46 - 75:47] DeclRefExpr=p:74:17 -// CHECK-tokens: Punctuation: "[" [75:47 - 75:48] UnexposedExpr= -// CHECK-tokens: Literal: "1" [75:48 - 75:49] UnexposedExpr= -// CHECK-tokens: Punctuation: "]" [75:49 - 75:50] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [75:50 - 75:51] UnexposedExpr= -// CHECK-tokens: Punctuation: "<<" [75:52 - 75:54] UnexposedExpr= -// CHECK-tokens: Literal: "8" [75:55 - 75:56] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [75:56 - 75:57] UnexposedExpr= -// CHECK-tokens: Punctuation: ")" [75:57 - 75:58] UnexposedExpr= -// CHECK-tokens: Punctuation: "-" [75:59 - 75:60] UnexposedExpr= -// CHECK-tokens: Literal: "1" [75:61 - 75:62] UnexposedExpr= -// CHECK-tokens: Punctuation: ";" [75:62 - 75:63] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [76:3 - 76:4] UnexposedStmt= +// CHECK-tokens: Punctuation: "[" [75:47 - 75:48] ArraySubscriptExpr= +// CHECK-tokens: Literal: "1" [75:48 - 75:49] IntegerLiteral= +// CHECK-tokens: Punctuation: "]" [75:49 - 75:50] ArraySubscriptExpr= +// CHECK-tokens: Punctuation: ")" [75:50 - 75:51] ParenExpr= +// CHECK-tokens: Punctuation: "<<" [75:52 - 75:54] BinaryOperator= +// CHECK-tokens: Literal: "8" [75:55 - 75:56] IntegerLiteral= +// CHECK-tokens: Punctuation: ")" [75:56 - 75:57] ParenExpr= +// CHECK-tokens: Punctuation: ")" [75:57 - 75:58] ParenExpr= +// CHECK-tokens: Punctuation: "-" [75:59 - 75:60] BinaryOperator= +// CHECK-tokens: Literal: "1" [75:61 - 75:62] IntegerLiteral= +// CHECK-tokens: Punctuation: ";" [75:62 - 75:63] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [76:3 - 76:4] CompoundStmt= // CHECK-tokens: Identifier: "llvm" [77:3 - 77:7] NamespaceRef=llvm:37:11 // CHECK-tokens: Punctuation: "::" [77:7 - 77:9] CXXMethod=getName:77:19 (Definition) // CHECK-tokens: Identifier: "StringRef" [77:9 - 77:18] TypeRef=class llvm::StringRef:38:7 @@ -778,8 +778,8 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "(" [77:26 - 77:27] CXXMethod=getName:77:19 (Definition) // CHECK-tokens: Punctuation: ")" [77:27 - 77:28] CXXMethod=getName:77:19 (Definition) // CHECK-tokens: Keyword: "const" [77:29 - 77:34] CXXMethod=getName:77:19 (Definition) -// CHECK-tokens: Punctuation: "{" [77:35 - 77:36] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [78:5 - 78:11] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [77:35 - 77:36] CompoundStmt= +// CHECK-tokens: Keyword: "return" [78:5 - 78:11] ReturnStmt= // CHECK-tokens: Identifier: "llvm" [78:12 - 78:16] NamespaceRef=llvm:37:11 // CHECK-tokens: Punctuation: "::" [78:16 - 78:18] CallExpr=StringRef:49:3 // CHECK-tokens: Identifier: "StringRef" [78:18 - 78:27] TypeRef=class llvm::StringRef:38:7 @@ -792,8 +792,8 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "(" [78:53 - 78:54] CallExpr=getLength:72:12 // CHECK-tokens: Punctuation: ")" [78:54 - 78:55] CallExpr=getLength:72:12 // CHECK-tokens: Punctuation: ")" [78:55 - 78:56] CallExpr=StringRef:49:3 -// CHECK-tokens: Punctuation: ";" [78:56 - 78:57] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [79:3 - 79:4] UnexposedStmt= +// CHECK-tokens: Punctuation: ";" [78:56 - 78:57] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [79:3 - 79:4] CompoundStmt= // CHECK-tokens: Punctuation: "}" [80:1 - 80:2] ClassDecl=IdentifierInfo:66:7 (Definition) // CHECK-tokens: Punctuation: ";" [80:2 - 80:3] Namespace=clang:65:11 (Definition) // CHECK-tokens: Punctuation: "}" [81:1 - 81:2] Namespace=clang:65:11 (Definition) @@ -837,10 +837,10 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "," [87:50 - 87:51] CXXConstructor=StringSwitch<T, R>:87:12 (Definition) // CHECK-tokens: Identifier: "Result" [87:52 - 87:58] MemberRef=Result:85:12 // CHECK-tokens: Punctuation: "(" [87:58 - 87:59] UnexposedExpr= -// CHECK-tokens: Literal: "0" [87:59 - 87:60] UnexposedExpr= +// CHECK-tokens: Literal: "0" [87:59 - 87:60] IntegerLiteral= // CHECK-tokens: Punctuation: ")" [87:60 - 87:61] UnexposedExpr= -// CHECK-tokens: Punctuation: "{" [87:62 - 87:63] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [87:63 - 87:64] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [87:62 - 87:63] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [87:63 - 87:64] CompoundStmt= // CHECK-tokens: Keyword: "template" [88:3 - 88:11] FunctionTemplate=Case:88:42 (Definition) // CHECK-tokens: Punctuation: "<" [88:12 - 88:13] FunctionTemplate=Case:88:42 (Definition) // CHECK-tokens: Keyword: "unsigned" [88:14 - 88:22] NonTypeTemplateParameter=N:88:23 (Definition) @@ -865,12 +865,12 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "&" [89:55 - 89:56] ParmDecl=Value:89:57 (Definition) // CHECK-tokens: Identifier: "Value" [89:57 - 89:62] ParmDecl=Value:89:57 (Definition) // CHECK-tokens: Punctuation: ")" [89:62 - 89:63] FunctionTemplate=Case:88:42 (Definition) -// CHECK-tokens: Punctuation: "{" [89:64 - 89:65] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [90:5 - 90:11] UnexposedStmt= -// CHECK-tokens: Punctuation: "*" [90:12 - 90:13] UnexposedExpr= -// CHECK-tokens: Keyword: "this" [90:13 - 90:17] UnexposedExpr= -// CHECK-tokens: Punctuation: ";" [90:17 - 90:18] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [91:3 - 91:4] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [89:64 - 89:65] CompoundStmt= +// CHECK-tokens: Keyword: "return" [90:5 - 90:11] ReturnStmt= +// CHECK-tokens: Punctuation: "*" [90:12 - 90:13] UnaryOperator= +// CHECK-tokens: Keyword: "this" [90:13 - 90:17] CXXThisExpr= +// CHECK-tokens: Punctuation: ";" [90:17 - 90:18] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [91:3 - 91:4] CompoundStmt= // CHECK-tokens: Identifier: "R" [92:3 - 92:4] TypeRef=R:83:33 // CHECK-tokens: Identifier: "Default" [92:5 - 92:12] CXXMethod=Default:92:5 (Definition) // CHECK-tokens: Punctuation: "(" [92:12 - 92:13] CXXMethod=Default:92:5 (Definition) @@ -880,11 +880,11 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Identifier: "Value" [92:23 - 92:28] ParmDecl=Value:92:23 (Definition) // CHECK-tokens: Punctuation: ")" [92:28 - 92:29] CXXMethod=Default:92:5 (Definition) // CHECK-tokens: Keyword: "const" [92:30 - 92:35] CXXMethod=Default:92:5 (Definition) -// CHECK-tokens: Punctuation: "{" [92:36 - 92:37] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [93:5 - 93:11] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [92:36 - 92:37] CompoundStmt= +// CHECK-tokens: Keyword: "return" [93:5 - 93:11] ReturnStmt= // CHECK-tokens: Identifier: "Value" [93:12 - 93:17] DeclRefExpr=Value:92:23 -// CHECK-tokens: Punctuation: ";" [93:17 - 93:18] UnexposedStmt= -// CHECK-tokens: Punctuation: "}" [94:3 - 94:4] UnexposedStmt= +// CHECK-tokens: Punctuation: ";" [93:17 - 93:18] CompoundStmt= +// CHECK-tokens: Punctuation: "}" [94:3 - 94:4] CompoundStmt= // CHECK-tokens: Punctuation: "}" [95:1 - 95:2] ClassTemplate=StringSwitch:83:47 (Definition) // CHECK-tokens: Punctuation: ";" [95:2 - 95:3] Namespace=llvm:82:11 (Definition) // CHECK-tokens: Punctuation: "}" [96:1 - 96:2] Namespace=llvm:82:11 (Definition) @@ -904,7 +904,7 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Punctuation: "*" [100:65 - 100:66] ParmDecl=Name:100:67 (Definition) // CHECK-tokens: Identifier: "Name" [100:67 - 100:71] ParmDecl=Name:100:67 (Definition) // CHECK-tokens: Punctuation: ")" [100:71 - 100:72] CXXMethod=getKind:100:36 (Definition) (static) -// CHECK-tokens: Punctuation: "{" [100:73 - 100:74] UnexposedStmt= +// CHECK-tokens: Punctuation: "{" [100:73 - 100:74] CompoundStmt= // CHECK-tokens: Identifier: "llvm" [101:3 - 101:7] NamespaceRef=llvm:82:11 // CHECK-tokens: Punctuation: "::" [101:7 - 101:9] VarDecl=AttrName:101:19 (Definition) // CHECK-tokens: Identifier: "StringRef" [101:9 - 101:18] TypeRef=class llvm::StringRef:38:7 @@ -915,603 +915,603 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo * Name) { // CHECK-tokens: Identifier: "getName" [101:36 - 101:43] MemberRefExpr=getName:77:19 // CHECK-tokens: Punctuation: "(" [101:43 - 101:44] CallExpr=getName:77:19 // CHECK-tokens: Punctuation: ")" [101:44 - 101:45] CallExpr=getName:77:19 -// CHECK-tokens: Punctuation: ";" [101:45 - 101:46] UnexposedStmt= -// CHECK-tokens: Keyword: "if" [102:3 - 102:5] UnexposedStmt= -// CHECK-tokens: Punctuation: "(" [102:6 - 102:7] UnexposedStmt= +// CHECK-tokens: Punctuation: ";" [101:45 - 101:46] DeclStmt= +// CHECK-tokens: Keyword: "if" [102:3 - 102:5] IfStmt= +// CHECK-tokens: Punctuation: "(" [102:6 - 102:7] IfStmt= // CHECK-tokens: Identifier: "AttrName" [102:7 - 102:15] DeclRefExpr=AttrName:101:19 // CHECK-tokens: Punctuation: "." [102:15 - 102:16] MemberRefExpr=startswith:52:8 // CHECK-tokens: Identifier: "startswith" [102:16 - 102:26] MemberRefExpr=startswith:52:8 // CHECK-tokens: Punctuation: "(" [102:26 - 102:27] CallExpr=startswith:52:8 -// CHECK-tokens: Literal: ""__"" [102:27 - 102:31] UnexposedExpr= +// CHECK-tokens: Literal: ""__"" [102:27 - 102:31] StringLiteral= // CHECK-tokens: Punctuation: ")" [102:31 - 102:32] CallExpr=startswith:52:8 -// CHECK-tokens: Punctuation: "&&" [102:33 - 102:35] UnexposedExpr= +// CHECK-tokens: Punctuation: "&&" [102:33 - 102:35] BinaryOperator= // CHECK-tokens: Identifier: "AttrName" [102:36 - 102:44] DeclRefExpr=AttrName:101:19 // CHECK-tokens: Punctuation: "." [102:44 - 102:45] MemberRefExpr=endswith:56:8 // CHECK-tokens: Identifier: "endswith" [102:45 - 102:53] MemberRefExpr=endswith:56:8 // CHECK-tokens: Punctuation: "(" [102:53 - 102:54] CallExpr=endswith:56:8 -// CHECK-tokens: Literal: ""__"" [102:54 - 102:58] UnexposedExpr= +// CHECK-tokens: Literal: ""__"" [102:54 - 102:58] StringLiteral= // CHECK-tokens: Punctuation: ")" [102:58 - 102:59] CallExpr=endswith:56:8 -// CHECK-tokens: Punctuation: ")" [102:59 - 102:60] UnexposedStmt= +// CHECK-tokens: Punctuation: ")" [102:59 - 102:60] IfStmt= // CHECK-tokens: Identifier: "AttrName" [103:5 - 103:13] DeclRefExpr=AttrName:101:19 // CHECK-tokens: Punctuation: "=" [103:14 - 103:15] CallExpr=operator=:38:7 // CHECK-tokens: Identifier: "AttrName" [103:16 - 103:24] DeclRefExpr=AttrName:101:19 // CHECK-tokens: Punctuation: "." [103:24 - 103:25] MemberRefExpr=substr:60:13 // CHECK-tokens: Identifier: "substr" [103:25 - 103:31] MemberRefExpr=substr:60:13 // CHECK-tokens: Punctuation: "(" [103:31 - 103:32] CallExpr=substr:60:13 -// CHECK-tokens: Literal: "2" [103:32 - 103:33] UnexposedExpr= +// CHECK-tokens: Literal: "2" [103:32 - 103:33] IntegerLiteral= // CHECK-tokens: Punctuation: "," [103:33 - 103:34] CallExpr=substr:60:13 // CHECK-tokens: Identifier: "AttrName" [103:35 - 103:43] DeclRefExpr=AttrName:101:19 // CHECK-tokens: Punctuation: "." [103:43 - 103:44] MemberRefExpr=size:51:10 // CHECK-tokens: Identifier: "size" [103:44 - 103:48] MemberRefExpr=size:51:10 // CHECK-tokens: Punctuation: "(" [103:48 - 103:49] CallExpr=size:51:10 // CHECK-tokens: Punctuation: ")" [103:49 - 103:50] CallExpr=size:51:10 -// CHECK-tokens: Punctuation: "-" [103:51 - 103:52] UnexposedExpr= -// CHECK-tokens: Literal: "4" [103:53 - 103:54] UnexposedExpr= +// CHECK-tokens: Punctuation: "-" [103:51 - 103:52] BinaryOperator= +// CHECK-tokens: Literal: "4" [103:53 - 103:54] IntegerLiteral= // CHECK-tokens: Punctuation: ")" [103:54 - 103:55] CallExpr=substr:60:13 -// CHECK-tokens: Punctuation: ";" [103:55 - 103:56] UnexposedStmt= -// CHECK-tokens: Keyword: "return" [105:3 - 105:9] UnexposedStmt= +// CHECK-tokens: Punctuation: ";" [103:55 - 103:56] CompoundStmt= +// CHECK-tokens: Keyword: "return" [105:3 - 105:9] ReturnStmt= // FIXME: Missing "llvm" namespace reference below // CHECK-tokens: Identifier: "llvm" [105:10 - 105:14] NamespaceRef=llvm:82:11 -// CHECK-tokens: Punctuation: "::" [105:14 - 105:16] UnexposedExpr= +// CHECK-tokens: Punctuation: "::" [105:14 - 105:16] CXXFunctionalCastExpr= // CHECK-tokens: Identifier: "StringSwitch" [105:16 - 105:28] TemplateRef=StringSwitch:83:47 -// CHECK-tokens: Punctuation: "<" [105:29 - 105:30] UnexposedExpr= +// CHECK-tokens: Punctuation: "<" [105:29 - 105:30] CXXFunctionalCastExpr= // CHECK-tokens: Identifier: "AttributeList" [105:31 - 105:44] TypeRef=class clang::AttributeList:12:9 -// CHECK-tokens: Punctuation: "::" [105:44 - 105:46] UnexposedExpr= +// CHECK-tokens: Punctuation: "::" [105:44 - 105:46] CXXFunctionalCastExpr= // CHECK-tokens: Identifier: "Kind" [105:46 - 105:50] TypeRef=enum clang::AttributeList::Kind:13:10 // CHECK-tokens: Punctuation: ">" [105:51 - 105:52] CallExpr=StringSwitch:87:12 // CHECK-tokens: Punctuation: "(" [105:53 - 105:54] CallExpr=StringSwitch:87:12 // CHECK-tokens: Identifier: "AttrName" [105:54 - 105:62] DeclRefExpr=AttrName:101:19 -// CHECK-tokens: Punctuation: ")" [105:62 - 105:63] UnexposedExpr= +// CHECK-tokens: Punctuation: ")" [105:62 - 105:63] CXXFunctionalCastExpr= // CHECK-tokens: Punctuation: "." [106:5 - 106:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [106:6 - 106:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [106:10 - 106:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""weak"" [106:11 - 106:17] UnexposedExpr= +// CHECK-tokens: Literal: ""weak"" [106:11 - 106:17] StringLiteral= // CHECK-tokens: Punctuation: "," [106:17 - 106:18] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_weak" [106:19 - 106:26] DeclRefExpr=AT_weak:29:45 // CHECK-tokens: Punctuation: ")" [106:26 - 106:27] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [107:5 - 107:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [107:6 - 107:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [107:10 - 107:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""weakref"" [107:11 - 107:20] UnexposedExpr= +// CHECK-tokens: Literal: ""weakref"" [107:11 - 107:20] StringLiteral= // CHECK-tokens: Punctuation: "," [107:20 - 107:21] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_weakref" [107:22 - 107:32] DeclRefExpr=AT_weakref:29:54 // CHECK-tokens: Punctuation: ")" [107:32 - 107:33] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [108:5 - 108:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [108:6 - 108:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [108:10 - 108:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""pure"" [108:11 - 108:17] UnexposedExpr= +// CHECK-tokens: Literal: ""pure"" [108:11 - 108:17] StringLiteral= // CHECK-tokens: Punctuation: "," [108:17 - 108:18] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_pure" [108:19 - 108:26] DeclRefExpr=AT_pure:26:49 // CHECK-tokens: Punctuation: ")" [108:26 - 108:27] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [109:5 - 109:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [109:6 - 109:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [109:10 - 109:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""mode"" [109:11 - 109:17] UnexposedExpr= +// CHECK-tokens: Literal: ""mode"" [109:11 - 109:17] StringLiteral= // CHECK-tokens: Punctuation: "," [109:17 - 109:18] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_mode" [109:19 - 109:26] DeclRefExpr=AT_mode:20:44 // CHECK-tokens: Punctuation: ")" [109:26 - 109:27] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [110:5 - 110:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [110:6 - 110:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [110:10 - 110:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""used"" [110:11 - 110:17] UnexposedExpr= +// CHECK-tokens: Literal: ""used"" [110:11 - 110:17] StringLiteral= // CHECK-tokens: Punctuation: "," [110:17 - 110:18] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_used" [110:19 - 110:26] DeclRefExpr=AT_used:28:34 // CHECK-tokens: Punctuation: ")" [110:26 - 110:27] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [111:5 - 111:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [111:6 - 111:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [111:10 - 111:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""alias"" [111:11 - 111:18] UnexposedExpr= +// CHECK-tokens: Literal: ""alias"" [111:11 - 111:18] StringLiteral= // CHECK-tokens: Punctuation: "," [111:18 - 111:19] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_alias" [111:20 - 111:28] DeclRefExpr=AT_alias:15:25 // CHECK-tokens: Punctuation: ")" [111:28 - 111:29] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [112:5 - 112:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [112:6 - 112:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [112:10 - 112:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""align"" [112:11 - 112:18] UnexposedExpr= +// CHECK-tokens: Literal: ""align"" [112:11 - 112:18] StringLiteral= // CHECK-tokens: Punctuation: "," [112:18 - 112:19] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_aligned" [112:20 - 112:30] DeclRefExpr=AT_aligned:15:35 // CHECK-tokens: Punctuation: ")" [112:30 - 112:31] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [113:5 - 113:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [113:6 - 113:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [113:10 - 113:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""final"" [113:11 - 113:18] UnexposedExpr= +// CHECK-tokens: Literal: ""final"" [113:11 - 113:18] StringLiteral= // CHECK-tokens: Punctuation: "," [113:18 - 113:19] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_final" [113:20 - 113:28] DeclRefExpr=AT_final:19:40 // CHECK-tokens: Punctuation: ")" [113:28 - 113:29] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [114:5 - 114:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [114:6 - 114:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [114:10 - 114:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""cdecl"" [114:11 - 114:18] UnexposedExpr= +// CHECK-tokens: Literal: ""cdecl"" [114:11 - 114:18] StringLiteral= // CHECK-tokens: Punctuation: "," [114:18 - 114:19] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_cdecl" [114:20 - 114:28] DeclRefExpr=AT_cdecl:17:30 // CHECK-tokens: Punctuation: ")" [114:28 - 114:29] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [115:5 - 115:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [115:6 - 115:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [115:10 - 115:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""const"" [115:11 - 115:18] UnexposedExpr= +// CHECK-tokens: Literal: ""const"" [115:11 - 115:18] StringLiteral= // CHECK-tokens: Punctuation: "," [115:18 - 115:19] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_const" [115:20 - 115:28] DeclRefExpr=AT_const:17:52 // CHECK-tokens: Punctuation: ")" [115:28 - 115:29] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [116:5 - 116:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [116:6 - 116:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [116:10 - 116:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""__const"" [116:11 - 116:20] UnexposedExpr= +// CHECK-tokens: Literal: ""__const"" [116:11 - 116:20] StringLiteral= // CHECK-tokens: Punctuation: "," [116:20 - 116:21] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_const" [116:22 - 116:30] DeclRefExpr=AT_const:17:52 // CHECK-tokens: Punctuation: ")" [116:30 - 116:31] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [117:5 - 117:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Identifier: "Case" [117:6 - 117:10] MemberRefExpr=Case:88:42 // CHECK-tokens: Punctuation: "(" [117:10 - 117:11] CallExpr=Case:88:42 -// CHECK-tokens: Literal: ""blocks"" [117:11 - 117:19] UnexposedExpr= +// CHECK-tokens: Literal: ""blocks"" [117:11 - 117:19] StringLiteral= // CHECK-tokens: Punctuation: "," [117:19 - 117:20] CallExpr=Case:88:42 // CHECK-tokens: Identifier: "AT_blocks" [117:21 - 117:30] DeclRefExpr=AT_blocks:16:57 // CHECK-tokens: Punctuation: ")" [117:30 - 117:31] CallExpr=Case:88:42 // CHECK-tokens: Punctuation: "." [118:5 - 118:6] MemberRefExpr=Case:88:42 // CHECK-tokens: Ident |